0
很簡單..所以我想。這是NopCommerce的一個插件頁面,但我不認爲這是在這裏玩。MVC Razor CheckBoxFor()不顯示屬性內容/值
我的模型:
public class CheckBoxModel
{
public string Name { get; set; }
public bool Checked { get; set; }
}
public partial class ContactUsModel : BaseNopModel
{
[AllowHtml]
[DisplayName("Case Type")]
public List<CheckBoxModel> CaseType { get; set; }
}
我的控制器,進行快速檢查,看看是否形式正確顯示:
var model = new ContactUsModel
{
CaseType = new List<CheckBoxModel>()
{
new CheckBoxModel() { Name="Civil Tax", Checked=false },
new CheckBoxModel() { Name="Criminal Tax", Checked=false },
new CheckBoxModel() { Name="Other Tax", Checked=false }
}
}
我的剃刀:
<div class="inputs">
@Html.LabelFor(model => model.CaseType)
@for(int i = 0; i < Model.CaseType.Count; i++)
{
@Html.LabelFor(lbl => lbl.CaseType[i].Name)
@Html.CheckBoxFor(chk => chk.CaseType[i].Checked)
}
</div>
HTML:
Case Type: Name [] Name[] Name[]
我錯過了什麼讓控制器中分配的實際名稱顯示?
AHHHHHH ....那麼簡單但我無法看到它。謝謝。 – GPGVM
很高興幫助。如果這對您有用,請將答案標記爲已接受。 – DavidS
你真的想要的是'@ Html.LabelFor(M => m.CaseType [I] .Checked,型號[I]請將.Name)',以便創建具有複選框相關聯的標籤(並顯示相關聯的值'名稱'屬性)。你應該將其替換'@ Html.LabelFor(M => m.CaseType)''@ Html.DisplayNameFor(M => m.CaseType)'因爲你沒有一個叫'CaseType'所以''