1

在我的 html.beginform 中,我有这个我想要保留的复选框。我不确定如何将它添加到下面的 ActionLink ......或者是否可能。我想过使用会话变量。如果有人有一个示例显示如何在会话变量中设置复选框值,那会很棒......或者如果有一种方法可以在 ActionLink 中传递它......那也很酷。提前欢呼和感谢

      @Html.CheckBoxFor(model=>model.wccrSelection.SendDemand)

      @Html.ActionLink("Order",
        "Display", new {Model.wccrSelection.WccrId,sortOrder = ViewBag.NameSortParm })
4

2 回答 2

2

您可以使用 a<form>而不是链接。这样复选框的值将自动发送到控制器,您不需要使用任何 javascript:

@using (Html.BeginForm("Display", null, new { id = Model.wccrSelection.WccrId, sortOrder = ViewBag.NameSortParm }))
{
    @Html.CheckBoxFor(model=>model.wccrSelection.SendDemand)
    <button type="submit">Order</button>
}
于 2012-06-17T06:17:48.063 回答
1

您可以使用 jQuery 添加额外的参数以将复选框状态传递给您的操作方法,如下所示:

例如。:

    @Html.CheckBoxFor(model=>model.wccrSelection.SendDemand, new {@class = "SendDemand"})
    @Html.ActionLink("Order",
            "Display", new {Model.wccrSelection.WccrId,sortOrder = ViewBag.NameSortParm }, new { @class = "DisplayOrder" })

<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script type="text/javascript"> 
        $(function(){
          (".DisplayOrder").on.("click",function(){
          var href = $(this).attr("href");
          if ($(".SendDemand").is(':checked')) {
            href = href + "&CheckBoxState=true";
          } 
          else {
            href = href + "&CheckBoxState=false";
          }
          $(this).attr("href", href);
        });
       });
</script>
于 2012-06-17T05:46:07.180 回答