这是我观点的一部分:
<% 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。有什么问题?
答案 0 :(得分:2)
单击链接永远不会回发到服务器,或者从提交按钮重定向客户端也不会导致回发。任何输入值(如复选框)都不会发送到服务器。您需要使用带有提交按钮的表单,并让提交自然地回发到服务器。
或者,您可以使用JQuery的$ .ajax创建一个JavaScript post语句来异步执行此操作like these examples。