1

这是我观点的一部分:

<% using (Html.BeginForm())
       { %>
            <input type="checkbox" name="ali" value="123" />
            <%: Html.CheckBox("ali1") %>
                <a href='<%:Url.Action("DeleteSelected", "Product", new { @ShopID = ViewBag.shopIDempty } ) %>'>dddd</a>
                <input type="submit" onclick='<%: Url.Action("DeleteSelected", "Product", new { @ShopID = ViewBag.shopIDempty } ) %>' />
     <%} %>

这是控制器:

        public ActionResult DeleteSelected(FormCollection collection, int ShopID)
    {
        var t = collection.GetValue("ali");
        var t2 = collection["ali"];
        var selectCB11 = collection.GetValue("ali");

        var t1 = collection.GetValue("ali1");
        var t21 = collection["ali1"];
        var selectCB121 = collection.GetValue("ali1");
        //...
    }

但是没有任何东西传递给我的变量,并且它们都始终为空。怎么了?

4

1 回答 1

2

单击链接将永远不会回发到服务器,或者从提交按钮重定向客户端也不会导致回发。任何像复选框这样的输入值都不会发送到服务器。您需要使用带有提交按钮的表单,并让提交自然地回发到服务器。

或者,您可以使用 JQuery 的 $.ajax 创建一个 JavaScript post 语句来异步执行此操作,例如这些示例

于 2013-01-18T16:04:09.147 回答