2010-09-04 171 views
1

在AJAX調用期間是否可以將ViewData,TempData或會話返回到視圖?這些變量是否包含在循環中?請評論ASP.NET MVC AJAX調用返回值從控制器查看

function submitForm(frm) { 
     var tdata = $(frm).serialize(); 

     $.ajax({ 
      url: "/Organization/EditOrganizationMeta", 
      data: tdata, 
      success: function (result) {     
       if (result["ErrorMessage"] == "No Error") { 
        $("#" + result["DivName"] + "1").hide(); 
        $("#" + result["DivName"]).show(); 
        $("#" + result["DivName"]).empty(); 
        $("#" + result["name"]).attr("value", result["SavedValue"]); 
        $("#" + result["DivName"]).append("<b>" + result["SavedValue"] + "</b>"); 
        $("#" + result["DivName"] + "2").empty(); 
        $("#" + result["DivName"] + "2").append("<b>Record is successfully saved</b>"); 

       } 
       else if (result["ErrorMessage"] != "") { 
        $("#" + result["DivName"] + "1").show(); 
        $("#" + result["DivName"]).hide(); 
        $("#" + result["DivName"]).empty(); 
        $("#" + result["name"]).attr("value", result["PreviousValues"]); 
        $("#" + result["DivName"] + "2").empty(); 
        $("#" + result["DivName"]).append("<b>" + result["PreviousValues"] + "</b>"); 
        $("#" + result["DivName"] + "2").append("<b>" + result["ErrorMessage"] + "</b>"); 
       } 
      }, 
      type: "POST", 
      datatype: "json" 
     }); 

     return false; 
    } 
+0

您使用的是內置的MVC的Ajax方法和腳本?如果是這樣,你是否問在執行Ajax調用後如何更改視圖中的數據? – 2010-09-04 05:38:32

+0

沒有簡單的我在控制器中設置一個變量,我想在視圖中檢索它 – maztt 2010-09-04 05:42:22

+0

爲什麼你需要直接訪問viewdata/tempdata?只需將它作爲您的控制器方法中的JSON/XML響應的一部分返回即可。即返回JsonResult(someViewModelWhichAlsoIncludesTempData) – RPM1984 2010-09-04 05:45:19

回答

1

Bsaed您剛剛發佈的JavaScript代碼,我認爲最好的辦法是返回你想要的success功能使用爲JSON參數。

要從ASP.NET MVC控制器的ActionResult返回一個對象作爲JSON,你必須做到以下幾點:

return Json(myObject); //where myObject is an object that contains all the information that you want to return. 
相關問題