MVCAJAX返回部分视图与模型,成功获取模型的价值

MVCAJAX返回部分视图与模型,成功获取模型的价值,ajax,asp.net-mvc,Ajax,Asp.net Mvc,我有一个ajax,它返回强类型的局部视图 我希望在成功中获得模型的价值。 可能吗? 代码返回: return View("Test", Model); 在ajax中: 我想得到数据变量中的模型 success: function (data) { data. } 您的局部视图需要返回JSON数据,以便您能够像这样访问数据 在控制器中(我假设这是一个HTTPPost调用): 在JS Ajax调用中: success: function(data) {

我有一个ajax,它返回强类型的局部视图 我希望在成功中获得模型的价值。 可能吗? 代码返回:

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

 success: function (data) {
       data.
           }

您的局部视图需要返回JSON数据,以便您能够像这样访问数据

在控制器中(我假设这是一个HTTPPost调用):

在JS Ajax调用中:

success: function(data) {
    alert(data.name); //alerts 'Test'
}
更新 好的,如果你想返回部分视图和模型,你可以像现在一样返回视图,然后将模型转换成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>
@{
var jsonString=ViewBag.jsonString;
}
var data=JSON.parse(@jsonString”);
警报(data.name)//警报“测试”

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

在控制器中(我假设这是一个HTTPPost调用):

在JS Ajax调用中:

success: function(data) {
    alert(data.name); //alerts 'Test'
}
更新 好的,如果你想返回部分视图和模型,你可以像现在一样返回视图,然后将模型转换成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>
@{
var jsonString=ViewBag.jsonString;
}
var data=JSON.parse(@jsonString”);
警报(data.name)//警报“测试”

否,为此,您需要从控制器操作返回
JsonResult
,如下所示:

return Json(new {response =  Model });
现在,您可以从返回的json对象访问结果:

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

否,为此,您需要从控制器操作返回
JsonResult
,如下所示:

return Json(new {response =  Model });
现在,您可以从返回的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>

函数ShowMessage(){
document.getElementById('info')。value='YOUR_MESSAGE';
setTimeout(函数(){
$(“#info”).hide();
}, 3000);
}
你的Html标签应该是这样的

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

试试这是Ajax表单

OnSuccess = "ShowMessage()"
剧本是

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

函数ShowMessage(){
document.getElementById('info')。value='YOUR_MESSAGE';
setTimeout(函数(){
$(“#info”).hide();
}, 3000);
}
你的Html标签应该是这样的

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


看看和,因为它们都解决了你的问题。看看和,因为它们都解决了你的问题。嗨,谢谢你,但我需要返回部分视图和模型,在你的示例中,我如何在partirl视图中使用?你的部分视图顶部有
@{var jsonString=ViewBag.jsonString;}
(在
标记之前)我这样做了,但是我得到了错误,因为脚本在主视图中,它不知道部分,你知道吗?你需要将该脚本放在部分中并从那里执行JS。嗨,谢谢你,但我需要返回部分视图和模型,在你的示例中,我如何在部分视图中使用?你有
@{var jsonString=ViewBag.jsonString;}
在局部视图的顶部(在
标记之前),我这样做了,但是我得到了错误,因为脚本在主视图中,它不知道局部,您知道吗?您需要将该脚本放在局部视图中并从那里执行JS。