mvc ajax返回部分视图与模型获取成功的模型值

时间:2017-03-13 12:51:16

标签: ajax asp.net-mvc

我有ajax返回强类型的局部视图 我想成功获得模型的价值。 可能吗? 代码返回:

return View("Test", Model);
在ajax中: 我想在数据变量中获取模型

 success: function (data) {
       data.
           }

3 个答案:

答案 0 :(得分:0)

您的部分视图需要返回JSON数据才能访问这样的数据。

在你的控制器中(我假设这是一个HTTPPost呼叫):

return Json(new { id = 1, name = "Test" });

在您的JS Ajax调用中:

success: function(data) {
    alert(data.name); //alerts 'Test'
}

<强>更新 好的,如果你想要返回部分视图和模型,你可以返回View,然后将模型转换为JSON字符串,以便在View中查看和使用JS?这是一个粗略的例子......

所以在Controller:

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>

答案 1 :(得分:0)

不,为此您需要从控制器操作返回JsonResult,这可能是:

return Json(new {response =  Model });

现在ajax成功了,您可以从返回的json对象访问结果:

success: function (data) {
       console.log(data);
           }

答案 2 :(得分:0)

试试这是Ajax表单

OnSuccess = "ShowMessage()"

和脚本是

    <script>
    function ShowMessage() {
                document.getElementById('info').value='YOUR_MESSAGE';
                setTimeout(function () {
                $("#info").hide();
                }, 3000);
            }
    <script>

和你的Html标签应该是这样的

<div id="info"></div>