C# 获取asp.net mvc中选定复选框值的列表
我想获得选中复选框值的列表。我该怎么做?我正在开发一个ASP.NETMVC5应用程序。此应用程序有一个基本表单。 我的视图代码C# 获取asp.net mvc中选定复选框值的列表,c#,asp.net-mvc,C#,Asp.net Mvc,我想获得选中复选框值的列表。我该怎么做?我正在开发一个ASP.NETMVC5应用程序。此应用程序有一个基本表单。 我的视图代码 @using (Html.BeginForm()) { <table class="table"> <thead> <tr> <th>Field Name</th> @foreach (var f
@using (Html.BeginForm())
{
<table class="table">
<thead>
<tr>
<th>Field Name</th>
@foreach (var field in Model.Actions)
{
<th>@field.Name</th>
}
</tr>
</thead>
<tbody>
@foreach (var permission in Model.PermissionUserField)
{
<tr>
<td> @permission.Field.Name</td>
@foreach (var peruserAction in permission.PermissionUserFieldActions)
{
<td>
@if (peruserAction.Active)
{
@Html.HiddenFor(x=> x.PermissionUserFieldForUser)
<input type="checkbox" checked name="field_@(permission.FieldId)_[@peruserAction.Id]" />
}
else
{
<input type="checkbox" name="field_@(permission.FieldId)_[@peruserAction.Id]" />
}
</td>
}
</tr>
}
</tbody>
</table>
<br />
<input type="submit" value="Save" />
}
@使用(Html.BeginForm())
{
字段名
@foreach(Model.Actions中的var字段)
{
@字段名
}
@foreach(Model.PermissionUserField中的var权限)
{
@permission.Field.Name
@foreach(permission.PermissionUserFieldActions中的var peruserAction)
{
@if(peruserAction.Active)
{
@Html.HiddenFor(x=>x.PermissionUserFieldForUser)
}
其他的
{
}
}
}
}
我的表单的模型如下所示:
public class NewViewModel
{
public List<PermissionUserField> PermissionUserField{ get; set; }
public List<PermissionUserField> PermissionUserFieldForUser { get; set; }
public List<Action> Actions { get; set; }
public List<Field> Field { get; set; }
}
public partial class Action
{
public int Id { get; set; }
[StringLength(50)]
public string Name { get; set; }
}
public partial class PermissionUserField
{
public int Id { get; set; }
public int UserId { get; set; }
public User User { get; set; }
public int FieldId { get; set; }
public Field Field { get; set; }
public List<PermissionUserFieldAction> PermissionUserFieldActions { get; set; }
}
public partial class PermissionUserFieldAction
{
public int Id { get; set; }
public int ActionId { get; set; }
public Action Action { get; set; }
public int PermissionUserFieldId { get; set; }
public PermissionUserField PermissionUserField { get; set; }
public bool Active { get; set; } = false;
}
公共类NewViewModel
{
公共列表PermissionUserField{get;set;}
公共列表权限UserFieldForUser{get;set;}
公共列表操作{get;set;}
公共列表字段{get;set;}
}
公共部分集体诉讼
{
公共int Id{get;set;}
[长度(50)]
公共字符串名称{get;set;}
}
公共部分类PermissionUserField
{
公共int Id{get;set;}
public int UserId{get;set;}
公共用户{get;set;}
public int FieldId{get;set;}
公共字段{get;set;}
公共列表权限UserFieldActions{get;set;}
}
公共部分类PermissionUserFieldAction
{
公共int Id{get;set;}
public int ActionId{get;set;}
公共操作动作{get;set;}
public int PermissionUserFieldId{get;set;}
公共PermissionUserField PermissionUserField{get;set;}
public bool Active{get;set;}=false;
}
我的控制器代码:复选框的名称应与绑定到列表中的名称相同。复选框的名称应与绑定到列表中的名称相同。您可以使用HttpPost执行此操作,也可以使用JQuery执行此操作
var checkedArray=
$('input:checkbox').each(function () {//iterate all checboxes in page
var data={ "IsChecked": this.checked ,"Name":this.attr('name')}
checkedArray.push();
});
然后通过ajax将checkedArray发送给控制器。您可以使用HttpPost来完成这项工作,也可以使用JQuery来完成这项工作
var checkedArray=
$('input:checkbox').each(function () {//iterate all checboxes in page
var data={ "IsChecked": this.checked ,"Name":this.attr('name')}
checkedArray.push();
});
然后通过ajax将checkedArray发送给控制器Um。。。您似乎遗漏了控制器代码?您不使用Html.CheckBoxFor有什么原因吗?您没有给您的复选框一个
值。但您不能使用foreach
循环为集合生成表单控件-引用,也不能将隐藏的输入绑定到复杂对象。请在控制器内创建actionMethod,它接受FormCollection或ViewModel,当您按submit时,将调用该方法,您将自动获取这些复选框的值。使用for
循环和@Html.CheckboxFor()
绑定到bool
属性-@Html.CheckboxFor(m=>m.PermissionUserField[i].PermissionUserFieldActions[j].IsActive)
Um。。。您似乎遗漏了控制器代码?您不使用Html.CheckBoxFor有什么原因吗?您没有给您的复选框一个值。但您不能使用foreach
循环为集合生成表单控件-引用,也不能将隐藏的输入绑定到复杂对象。请在控制器内创建actionMethod,它接受FormCollection或ViewModel,当您按submit时,将调用该方法,您将自动获取这些复选框的值。使用for
循环和@Html.CheckboxFor()
绑定到bool
属性-@Html.CheckboxFor(m=>m.PermissionUserField[i].PermissionUserFieldActions[j].IsActive)
这并没有提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-问题是:我想获得选中复选框值的列表
,以及他将不同名称绑定到其复选框列表的示例。所以这不是评论或批评,只是答案。如果不清楚,我可以写一个名称相同的例子。这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-问题是:我想获得选中复选框值的列表
,以及他将不同名称绑定到其复选框列表的示例。所以这不是评论或批评,只是答案。如果不清楚,我可以写一个名称相同的例子。