对应值字段的带有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中有什么更好的方法可以实现呢?

对应值字段的带有Name属性的ASP.NET 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 })
}