[英]Asp:net MVC 3: @Html.EditorFor a subcollection of my model in a template?
[英]ASP.NET MVC @Html.EditorFor(model => model.property) But
如果我擁有導航屬性,該怎么辦? 我要編輯的模型中有另一個模型的集合。 我想在collection屬性中顯示每個對象的復選框列表。 到目前為止,這是我嘗試過的...
@{
foreach (var category in ViewBag.Categories)
{
if (Model.Categories.Contains(category))
{
<input type="checkbox" name="selected-categories" value="category.CategoryId" checked="checked" />@category.Name
}
else
{
<input type="checkbox" name="selected-categories" value="@category.CategoryId" />@category.Name
}
}
}
但是它失敗並顯示EntityCommandExecutionException。 在我的if語句中,如何訪問@Html.EditorFor(model => model.Id)
類似於@Html.EditorFor(model => model.Id)
???
我會使用強類型的View。 創建一個包含模型的ViewModel,並將此ViewModel用於強類型視圖。
域模型和ViewModel(簡體)
public class YourModel
{
string Category { get ; set ; }
}
public class YourViewModel
{
public List<string> PossibleCategories { get ; set ; }
public YourModel YourData { get ; set ; }
}
然后查看:
@model YourViewModel
@{
foreach (string CurrCategory in Model.PossibleCategories)
{
if (Model.YourData.Category == CurrCategory)
{
@Html.CheckBox(CurrCategory, new { @checked = "checked" })
@Html.Encode(CurrCategory) <br />
}
else
{
@Html.CheckBox(CurrCategory, false)
@Html.Encode(CurrCategory) <br />
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.