簡體   English   中英

ASP.NET MVC @ Html.EditorFor(模型=>模型。屬性)但是

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM