0

ASP.NET MVCアプリケーションがあり、ページにユーザーが変更できるエントリがいくつかあり、[保存]をクリックして、それらのエントリを保存します。私の問題:一部のエントリでは正常に機能し、他のエントリでは、コントローラーの保存機能で保存を実行できません。私のコード:

 function DoSave() {
         $("#pisave").attr("disabled", true);
         var pid = $("#personid").val();alert(pid);
         var firstname = $("#fname").val();alert(firstname);
         var lastname = $("#lastname").val();alert(lastname);
         var plz = $("#zip").val();alert(plz);
         var ort = $("#city").val();alert(ort);
         var bday = $("#birthdate").val();alert(bday);
         var strasse = $("#street1").val(); alert(strasse);
         var emailtext = $("#email").val();alert(emailtext);
         var url = "@(Url.Action("SavePersonInfo", "Info"))";alert("URL");
        $.ajax({
            url: url,
            data: { personid: pid,fn: firstname, ln: lastname, email: emailtext, zip: plz, city:ort, birthday: bday, street:strasse },
            success: function () {                    
            alert("Update Successful");
            $("#pisave").removeAttr("disabled");
            },
           error: function () {                    
              alert("Update Failed! Check entries.");
             $("#pisave").removeAttr("disabled");
            }
        });
    }  

すべてのアラートがすべての場合に表示されます。一部の人だけがSavePersonInfoに行き、他の人はそこに行きません。何が間違っているのでしょうか?エントリの検証の問題である可能性がありますか?

4

1 に答える 1

0

モデル バインダーは日付の解析に失敗しました。投稿に変更します:

$.ajax({
    type: "POST",
    url: url,
    data: { personid: pid,fn: firstname, ln: lastname, email: emailtext, zip: plz, city:ort, birthday: bday, street:strasse },
    success: function() {
        alert("Update Successful");
        $("#pisave").removeAttr("disabled");
    },
    error: function() {
        alert("Update Failed! Check entries.");
        $("#pisave").removeAttr("disabled");
    }
});​

asp.net-MVC の日付に関する問題の詳細を読む

serializeすべての要素をクラスに追加して、関数を使用できることに注意してください。

$.ajax({
    type: "POST",
    url: url,
    data: $('.theClass').serialize(), // <=============
    success: function() {
        alert("Update Successful");
        $("#pisave").removeAttr("disabled");
    },
    error: function() {
        alert("Update Failed! Check entries.");
        $("#pisave").removeAttr("disabled");
    }
});​
于 2012-06-27T09:24:53.063 に答える