2013-06-23 72 views
0

我有一個變量命名爲:myvariable,有一些元素(ID,姓名等)從JavaScript發送對象的視圖

在我的控制器

,我計算出這個變量的一些元素,並將其返回:return View(myvariable)

我在我的控制器中的另一個功能:在我的javascript功能

public void drawnFromDb(id) { 
    myclass myvariable; 
    if (id == "1") { 
     myvariable.text = "hello"; 
    } 
    else { 
     myvariable.text = "world"; 
    } 
} 

,我計算出其他元素:

function mydrawnFromDb(id) { 
     $.ajax({ 
      type: "POST", 
      url: baseUri + "mycontroller/drawnFromDb", 
      data: { id: id }, 
      success: function() { 

      }, 
      error: function (error) { 

      } 
     }); 
} 

,但我需要 「迴歸」 myvariable到視圖。

我該怎麼做?

任何幫助讚賞!

回答

2

單從控制器動作返回一個JsonResult,而不是無效:

public ActionResult drawnFromDb(id) { 
    myclass myvariable; 
    if (id == "1") { 
     myvariable.text = "hello"; 
    } 
    else { 
     myvariable.text = "world"; 
    } 

    return Json(myvariable); 
} 

並在您的成功回調中您可以訪問結果:

success: function (result) { 
    alert(result.text); 
} 
1

返回MYVARIABLE從控制器作爲JSON:

 var javaScriptSerializer = new JavaScriptSerializer(); 
     var jsonObject = javaScriptSerializer.Serialize(myVariable); 
     return jsonObject; 

現在,你可以在AJAX功能使用:

function mydrawnFromDb(id) { 
    $.ajax({ 
     type: "POST", 
     url: baseUri + "mycontroller/drawnFromDb", 
     data: { id: id }, 
     success: function (myVariableJson) { 
     //Use the myVariableJson, and access the text property 
     }, 
     error: function (error) { 

     } 
    }); 
}