我有一个包含复选框和提交按钮的视图,如下所示。
@using (Html.BeginForm())
{
<fieldset>
<legend style="font-size: 100%; font-weight: normal">Delete</legend>
<p> Are you sure you want to delete?</p>
@foreach (string resource in resources)
{
if (resource != "")
{
<input type="checkbox" name="Resources" title="@resource" value="@resource" checked="checked"/>@resource
<br />
}
}
<br />
@Html.HiddenFor(m => m.AttendeeListString)
@Html.HiddenFor(m => m.ResourceListString)
<span class="desc-text">
<input type="submit" value="Yes" id="btnYes" />
</span>
<span class="desc-text">
<input type="submit" value="No" id="btnNo" />
</span>
</fieldset>
}
下面是控制器代码...
public ActionResult DeleteResource(RoomModel roomModel)
{
...
}
RoomModel 包含一些其他数据...
现在我如何访问控制器中的复选框值?注意:当我点击提交按钮时,我有更多信息需要发送到控制器......有人可以提出一些解决方案......
回答 :
我已将这两个属性添加到我的模型中
public List<SelectListItem> Resources
{
get;
set;
}
public string[] **SelectedResource**
{
get;
set;
}
我的视图复选框已更新如下
@foreach (var item in Model.Resources)
{
<input type="checkbox" name="**SelectedResource**" title="@item.Text" value="@item.Value" checked="checked"/>@item.Text
<br /><br />
}
在控制器中...
if (roomModel.SelectedResource != null)
{
foreach (string room in roomModel.**SelectedResource**)
{
resourceList.Add(room);
}
}
注意:模型中复选框和属性的名称应该相同。就我而言,它是SelectedResource