在我的索引页面中,我有多个可以选择的复选框:
@foreach (var item in Model) {
<tr>
<td class ="text-nowrap">
<input class="chkSelect" type="checkbox" name="Selected" value="@item.Id">
</td>
<td>
@Html.ValueFor(modelItem => item.trandate, "{0:dd/MM/yyyy}")
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id })
</td>
</tr>
}
我需要获取所选项目并将其传递给另一个表单/页面/操作,我想使用所选项目的ID来执行其他操作。 如何将所选项目传递给另一页面的控制器操作?
所以,现在我创建了public ActionResult SendSMS(string[] msisdn)
{
return View();
}
和
@using (Html.BeginForm("SendSMS", "Subscribers", FormMethod.Post))
{
<div class="form-group">
<a href="@Url.Action("SendSMS", "Subscriber", new { msisdn = Request["Selected"] })"> <span class="btn btn-primary"> <i class="fa fa-envelope"></i> Send SMS</span> </a>
</div>
}
&#13;
那么,请求[&#34;选择&#34;]会保留所有选定的项目吗?它在调试时显示为空。
答案 0 :(得分:0)
你可以POST
它到控制器并使用这些值进行重定向。然后,值将在查询字符串中执行到另一个操作。像:
return RedirectToAction("Index", "Home", new { value1 = value1, value2 = value 2});
答案 1 :(得分:0)
我只需使用提交按钮即可完成此操作。和
在控制器动作SendSMS中我有:
if (Request["Selected"] != null)
{
model.msisdn = string.Empty;
model.MessageId = string.Empty;
foreach (var selection in Request["Selected"].Split(','))
{
}
}