对应值字段的带有Name属性的ASP.NET MVC复选框
本文关键字:ASP 属性 NET 复选框 MVC Name 字段 | 更新日期: 2023-09-27 17:58:30
我的型号
public class MyFormField
{
public List<MyClass> propName { get; set; }
public string Value { get; set; }
}
public class MyClass
{
public string Name { get; set; }
}
正在通过MyFormField列表查看
在视图
@foreach (var item in Model.propName)
{
@Html.TextBoxFor(m => m.Name)
}
我需要在文本框之前添加一个复选框,如下面的
@foreach (var item in Model.propName)
{
@Html.checkbox("")
@Html.TextBoxFor(m => m.Name)
}
每个复选框都应该有一个唯一的名称属性作为相应的文本框。如何更改我的模型以实现此目标?
出于业务需要,我需要为每个相应的Textbox设置一个复选框,或者在MVC中有什么更好的方法可以实现呢?
添加到您的模型中:
public class MyClass
{
public string Name { get; set; }
public boolean Checked {get;set;}
}
然后添加:
@Html.CheckBoxFor(model => item.Checked)
@Html.TextBoxFor(model => item.Name)
这样,每个复选框都与列表中的MyClass
关联
public class MyClass
{
public string Name { get; set; }
public boolean Checked {get;set;}
}
这样做,每一行都有唯一的id。
@for (int i = 0; i < Model.propName.Count; i++)
{
@Html.CheckBoxFor(m => m.propName[i].Checked, new { class = "propName_" + i })
@Html.TextBoxFor(m => m.propName[i].Name, new { class = "propName_" + i })
}