从视图发布值到控制器asp.net mvc

时间:2013-01-18 15:59:20

标签: asp.net-mvc checkbox

这是我观点的一部分:

<% 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");
        //...
    }

但没有任何内容传递给我的变量,所有这些变量都是null。有什么问题?

1 个答案:

答案 0 :(得分:2)

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

或者,您可以使用JQuery的$ .ajax创建一个JavaScript post语句来异步执行此操作like these examples