3

asp.net/mvc3/jqueryなどを使い始めたばかりです.jquery datepickerがあり、これまでに取り組んできたことは次のとおりです。

$(document).ready(function () {
    $('#ImplementationStart').datepicker({
        onSelect: function (date) {
            $.ajax({
                url: '/request/update/',
                type: 'POST',
                data: {
                    'Date': date
                },
                dataType: "json",
                success: function () {
                    alert("success");
                },
                error: function (xhr, textStatus, error) {
                    console.log(xhr.statusText);
                    console.log(textStatus);
                    console.log(error);
                }
            });
        }
    });
});

私のコントローラーには、次のメソッドがあります。

    [HttpPost]
    public ActionResult Update(DateTime date)
    {

日付が渡されたようです。やりたいことは、日付ピッカーがある .cshtml ページから適切なモデル オブジェクトを更新することです。そのページに @Model プロパティを表示しますが、コントローラーへの投稿で @Model.Request.ID を返す方法がわかりませんでした。ありがとう。

4

1 に答える 1

1

ajax post試しに明示的に送信しているため、日付を取得しました

 data: {
         'Date': date,
         'ModelId':'@Model.Id'
        },

ID をフォーム投稿で使用できるようにする場合は、次のように隠しフィールドに含めます。

@Html.HiddenFor(x=>x.Id)

どこでxあなたのモデルを指します。最初の解決策がうまくいかない場合は、IDを非表示フィールドに保持し、ajax呼び出しを送信する前に非表示フィールドの値を取得してから、ajax投稿で送信します

于 2013-02-22T04:51:51.840 に答える