0

次のように定義されたフォームがあります。

<% using (Html.BeginForm("PRoll", "Payroll", FormMethod.Post, new { @id = "frmPRoll" })){%>

    <%= Html.TextBoxFor(model => model.keyid, new { @class = "required", Style = "width:190px", @maxlength = "15" })%>
    ....
<% } %>

そしてコントローラとして

public ActionResult Index(int? id)
{
    var bo = new PayrollInfo();
    return View(bo);
}

[HttpPost]
public ActionResult DetailPage(string keyid)
{
    //TempData["prid"] = p_payrollid;
    return RedirectToAction("PayDtl/" + keyid, "Payroll", keyid);
}

次のようにjqueryを介してフォームを送信します

function DetailPage() {
    var rol = $('#keyid').val();
    $('#frmPRoll').attr('action', '/Proll/DetailPage/'+rol).submit();
}

コントローラの DetailPage アクション メソッドの keyid 値は常に null です。ビューから実際のデータが取り込まれることはありません。

コントローラーのビューから keyid 値を取得するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

これを試して

function DetailPage() {
    var rol = $('#keyid').val();
    $.ajax({
            type: "POST",
            url: '@Url.Action("DetailPage", "Proll")',
            data: "keyid=" + rol
            success: function (result) {
            ...
    });
});
于 2012-07-26T15:02:04.093 に答える