-1

こんにちは、私が知らないのはこれが可能かどうかです。そのため、これを達成するための提案が必要です。モデルオブジェクトの代わりに ajax-beginform を使用して javacript オブジェクトを controller に投稿したいのです。私は次のようなコードを書いていますが、データを投稿する方法を見つけることができません.jQuery ajaxがオプションであることは知っていますが、この場合、データを投稿するためにjQuery ajaxを使用したくありません.

HTML

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts{
    <script type="text/javascript">

        var getValues=function()
        {
            //alert(1)
            var v = {
                id: $("#txtid").val(), name: $("#txtName").val()
            }
            console.log(v)
            return v;
        }

    </script>
    }

<h2>Index</h2>
@using (Ajax.BeginForm("postvalue", new AjaxOptions { HttpMethod="POST", OnBegin = "getValues" }))
{
    <input type="text" id="txtid" />
    <br />
    <input type="text" id="txtName" />
    <br />
    <button type="submit" value="Click" style="width:50px;height:50px">Click</button>
}

コントローラ

namespace AjaxBeginForm.Controllers
{
    public class AjaxBeginFormController : Controller
    {
        // GET: AjaxBeginForm
        public ActionResult Index()
        {
            return View();
        }

        public void postvalue(searchValues objsearchValues)
        {

        }
    }

    public class searchValues
    {
        public Int64 id { get; set; }
        public string name { get; set; }
    }
}

データをコントローラーに投稿し、それらをobjsearchValuesでキャッチしたいと考えています。

4

1 に答える 1

0

フォームの非表示フィールドに JS 値を入力すると、フォームが送信されると、値がコントローラーに返されます。

于 2017-02-17T17:25:07.353 に答える