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'所以''