0

jquery ajaxでmvc 3アクションメソッドを呼び出そうとしています。ajaxで部分ビューを生成していて、生成された部分ビューで再びajaxを呼び出していることに注意してください(ネストされたajax呼び出しのようなものです)。ここに私のコードがあります:

部分的なビュー:

@model MYWeb.UI.Models.ClientDetailsViewModel

ビュー内の JavaScript:

<script type="text/javascript">
$(document).ready(function () {
    $("#savedetails@(i)").click(function () {

        var clientNumber = $('#ClientNumber@(i)').val();
        var clientName = $('#ClientName@(i)').val();

        var client =
{
    ClientNumber: clientNumber,
    ClientName: clientName
};

alert(JSON.stringify(client));

        $.ajax({
            url: '/Home/ClientUpdate',
            type: 'POST',
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            data: JSON.stringify(client),
            beforeSend: function () {
                $("#loader@(i)_details").fadeIn('fast');
            },
            complete: function () {
                $("#loader@(i)_details").fadeOut('fast');
            },
            success: function () {
                $("#loader@(i)_details").fadeOut('fast');
                if ($("#ModelFirstError").val())
                    showModelMessageError;
                else
                    showUpdateMessageSuccess();
            },
            error: function () {
                $("#loader@(i)_details").fadeOut('fast');
                showUpdateMessageError();
            },
            async: true,
            processData: false
        });
    });
}); 

モデル オブジェクト:

public class ClientDetailsViewModel
{
    [Display(ResourceType = typeof(adm), Name = "ClientNumber")]
    public int ClientNumber { get; set; }


    [Required(AllowEmptyStrings = false, ErrorMessageResourceName = "RequiredClientName", ErrorMessageResourceType = typeof(adm))]
    [Display(ResourceType = typeof(adm), Name = "ClientName")]
    public string ClientName { get; set; }

    more fields...
}

アクションメソッド:

[Authorize]
        [HttpPost]
        public ActionResult ClientUpdate(ClientDetailsViewModel client)
        {}

この更新の試みは、常に ajax エラーを返します。私は何を間違っていますか?

編集:

アクション メソッドのパラメーターを削除すると、それが呼び出されることに気付きました。しかし、どうすればこの方法でモデルを渡すことができますか?

[Authorize]
    [HttpPost]
    public ActionResult ClientUpdate()
    {}
4

0 に答える 0