Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Create бизнесс класс и значение из dropdownlistfor


Автор: starostin 13.11.2012, 10:37
Бизнесс класс
Код

public class GoodsWithTypes
    {
        public Good Good { get; set; }

        public IEnumerable<GoodsType> GoodsTypes { get; set; }
    }

create в контроллере 
Код

public ActionResult Create()
        {
            ViewData["SelectedType"] = string.Empty;
            var good = new Good();
            var goodsTypes = (from goodsType in _dataBase.GoodsTypes orderby goodsType.Name select goodsType).ToList();
            var goodWithTypes = new GoodsWithTypes {Good = good, GoodsTypes = goodsTypes};
            return View(goodWithTypes);
        }
        
        [HttpPost]
        public ActionResult Create(Good good)
        {
            try
            {
                if (ModelState.IsValid)
                {
                }

                return View(good);
            }
            catch (Exception exception)
            {
                ModelState.AddModelError("Probably", exception);
            }
            return View(good);

        }

Проблемный DropDownListFor
Код

<div class="editor-label">
            @Html.LabelFor(model => model.GoodsTypes)
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(o => o.GoodsTypes, new SelectList(Model.GoodsTypes, "Id", "Name"))
            @Html.ValidationMessageFor(model => model.GoodsTypes)
            @Html.ActionLink("Create", "Create","GoodsTypes", "", new {target = "_blank"})
        </div>

Он нормально заполняется значениями, но что не выбери в Create(var a) почему то всегда приходит только Good вместо GoodsWithTypes

Автор: Bestoloch 20.11.2012, 13:52
Код

...
[HttpPost]
public ActionResult Create(Good good)
...


собственно Вы сами хотите видеть только Good ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)