我有一个使用Razor的ASP.NET MVC3项目。我有下一个实体:如何以编辑器形式显示自定义实体
优惠:
public class Offer
{
public Int32 Id { get; set; }
public String Name { get; set; }
public DateTime Added { get; set; }
public String Description { get; set; }
public Decimal Price { get; set; }
public String Address { get; set; }
public virtual OfferCategory OfferCategory { get; set; }
...
}
OfferCategory:
public class OfferCategory
{
public Int32 Id { get; set; }
public String Name { get; set; }
public String Description { get; set; }
public virtual List<Offer> Offers { get; set; }
...
}
我试图使形式添加新的报价与DropDownListFor(OfferCategory)。在dropDownList中将显示db中的所有现有offerCategories。这里有多远,我得到:
AddOffer动作控制器:
var categories = _context.OfferCategory.ToList();
List<SelectListItem> OfferCategories = new List<SelectListItem>();
foreach (var offerCategory in categories)
{
OfferCategories.Add(new SelectListItem() { Selected = false, Text = offerCategory.Name, Value = offerCategory.Id.ToString()});
}
ViewBag.OfferCategories = OfferCategories;
而这里查看:
//... A lot of things
<div class="editor-label">
@Html.LabelFor(model => model.OfferCategory)
</div>
<div class="editor-field">
@Html.DropDownListFor(model=>model.OfferCategory, (IEnumerable<SelectListItem>)ViewBag.OfferCategories)
</div>
//... A lot of things
当形式出现的所有OfferCategories以及但是当我点击提交按钮我的POST AddOffer(Offer Offer)处理程序没有得到表单中选择的OfferCategory。我该如何做到这一点?
嗯,这是一个有趣的想法。我会查一下。 – Maris
Thx很多!这个工作! – Maris