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

しかし、私の変数には何も渡されず、それらはすべて常に null です。なにが問題ですか?

4

1 に答える 1

2

リンクをクリックしてもサーバーにポストバックされないか、送信ボタンからクライアント側をリダイレクトしてもポストバックは発生しません。チェックボックスなどの入力値はサーバーに送信されません。送信ボタンのあるフォームを使用し、送信がサーバーに自然にポストバックされるようにする必要があります。

または、これらの例のように、JQuery の $.ajax を使用して JavaScript post ステートメントを作成し、これを非同期で行うことができます。

于 2013-01-18T16:04:09.147 に答える