我有ajax返回部分視圖與強烈的類型 我希望成功獲取模型的值。 有可能嗎? 代碼返回:mvc ajax返回部分視圖與模型獲取模型的值在成功
return View("Test", Model);
在阿賈克斯: 我想要得到的數據varible模型
success: function (data) {
data.
}
我有ajax返回部分視圖與強烈的類型 我希望成功獲取模型的值。 有可能嗎? 代碼返回:mvc ajax返回部分視圖與模型獲取模型的值在成功
return View("Test", Model);
在阿賈克斯: 我想要得到的數據varible模型
success: function (data) {
data.
}
你的局部視圖需要返回JSON數據,你能夠訪問這樣的數據。
在你的控制器(我假設這是一個HTTPPost調用):
return Json(new { id = 1, name = "Test" });
在您的JS Ajax調用:
success: function(data) {
alert(data.name); //alerts 'Test'
}
更新 OK,如果你想擁有部分視圖返回和模型,你可以返回視圖,因爲你已經然後將模型轉換爲JSON字符串來訪問和使用JS中的視圖也許嗎?這裏有一個粗略的例子...
在控制器這樣:
using System.Web.Script.Serialization;
...
var jsonstring = new JavaScriptSerializer().Serialize(Model);
...
ViewBag.JsonString = jsonString;
然後在局部視圖:
@{
var jsonString = ViewBag.JsonString;
}
<script>
var data = JSON.parse("@jsonString");
alert(data.name); //alerts 'Test'
</script>
嗨,謝謝,但我需要返回部分視圖和模型,在你的例子中,我如何在partirl視圖中使用? – rikush
@rikush更新 - 希望有所幫助。 – scgough
你有'@ {0124}在你的部分視圖的頂部(在'
沒有,因爲你需要從控制器動作返回JsonResult
回這將如:
return Json(new {response = Model });
現在,它成功的ajax,你可以訪問結果從這是返回的JSON對象:
success: function (data) {
console.log(data);
}
試試這個是Ajax表單
OnSuccess = "ShowMessage()"
和腳本是
<script>
function ShowMessage() {
document.getElementById('info').value='YOUR_MESSAGE';
setTimeout(function() {
$("#info").hide();
}, 3000);
}
<script>
和你的HTML標籤應該是這樣的
<div id="info"></div>
取看看http://stackoverflow.com/questions/18050894/如何調用一個動作結果從jQuery和http://stackoverflow.com/questions/33201617/using-jquery-ajax-to-call-actionresult-method-in-controller-and-return-data as他們都解決你的問題。 – jonesy