我有一个应该有复选框的编辑表单。
我的页面模型是
public class MyModel{
public string Name {get;set;}
public List<AdType> AdTypeList { get; set; }
}
Enum AdType{
[Display(Name = "None")]
None,
[Display(Name = "Additional")]
Additional_Photo,
}
所以我必须检查来自数据库的数据的复选框。 如果我进行更改并提交,也会发生更新。 要以这种方式工作,我需要在我的html助手中为复选框做出哪些更改?
foreach (AdType role in Enum.GetValues(typeof(AdType)))
{
<label>
<input name="Roles" type="checkbox" value="@role" checked="@(Model != null)" />
@{var x = EHelper.GetDisplayValue<AdType>(role);}
@x
</label>
}
我是mvc的新手,如果我做了一些愚蠢的事情,请注意。
答案 0 :(得分:1)
你可以在模型中放入if else条件来创建基于条件的html控件
foreach (AdType role in Enum.GetValues(typeof(AdType)))
{
<label>
@if(Model != null)
{
<input name="Roles" type="checkbox" value="@role" checked="checked" />
}
else
{
<input name="Roles" type="checkbox" value="@role" />
}
@{var x = EHelper.GetDisplayValue<AdType>(role);}
@x
</label>
}
答案 1 :(得分:0)
@foreach (AdType role in Enum.GetValues(typeof(AdType)))
{
<label class="col-sm-12">
<input name="AdTypeList" type="checkbox" value="@role" checked="@(Model != null && Model.AdTypeList!= null && Model.AdTypeList.Any(i => i.HasFlag(role)))" />
@{var text = EHelper.GetDisplayValue<AdType>(role);}
@text
</label>
}