2012-06-27 5 views
0

저는 ASP.NET MVC 응용 프로그램이 있으며 사용자가 변경할 수있는 페이지에 몇 가지 항목이 있으며 저장을 클릭하면 해당 항목을 저장합니다. 내 문제 : 그것은 일부 항목에 대해 잘 작동하고 그냥 컨트롤러 저장 기능에 저장하지 않는 다른 항목에 대한 저장 작업을 수행합니다. 내 코드 :MVC 웹 응용 프로그램에서 JavaScript가 작동하지 않습니다.

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로 이동하고 다른 곳에서는 들어 가지 않습니다. 어떤 아이디어가 잘못되었을 수도 있습니다 ?? 항목에 대한 유효성 검사 문제 일 수 있습니까?

+0

컨트롤러의 모습은 어떻습니까? 그것은 실패합니까? 작동하지 않을 때의 가치는 무엇입니까? 그리고 당신이 선택하는 제목은 내가 오랫동안 보았던 더 나쁜 것입니다! – gdoron

+0

컨트롤러가 정상적으로 작동하며 문제없이 일부 항목을 업데이트 할 수 있습니다. '일부'경우에만 컨트롤러에 연결되지 않아 중단 점을 넣을 때 볼 수 있습니다. – Tulips

+0

제목에 대해 죄송합니다. 유익하지 않으며 mvc 응용 프로그램의 javascript 오류로 변경해야 할 수도 있습니다. – Tulips

답변

0

모델 바인더 당신의 날짜를 구문 분석하는 데 실패 후 변경 :

$.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"); 
    } 
});​ 
: 당신이 모든 요소를 ​​클래스를 추가하고 serialize 기능을 사용할 수 있습니다

$.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"); 
    } 
});​ 

Read more about the problems with dates in asp.net-MVC

+0

"Update Failed! Check entries."라는 메시지가 나타납니다. 하지만 내 컨트롤러에서 중단 점에 도달하지 못했습니다. 캐시 일을 해보 죠. – Tulips

+0

@ 튤립. 오류가 발생하면 이는 캐시와 관련이 없습니다. 컨트롤러 표시 액션 서명이 어떻게 보이고 실패의 원인은 무엇입니까? – gdoron

+0

네, 캐시에 관한 것이 아닙니다. 이것은 내 컨트롤러입니다 : public JsonResult SavePersonInfo (guid personid, string fn, string ln, 문자열 전자 우편, int zip, 문자열 도시, DateTime 생일, 문자열 거리) { } – Tulips

관련 문제