Ira*_*ili 15 json razor asp.net-mvc-3
如何在JsonResult方法上返回多个变量
例如,我想返回这两个变量:
string result = "Successed";
string ID = "32"
Run Code Online (Sandbox Code Playgroud)
我知道如何只返回一个字符串:
return Json("Inserted");
Run Code Online (Sandbox Code Playgroud)
Shy*_*yju 50
public ActionResult YourAction()
{
var result=new { Result="Successed", ID="32"};
return Json(result, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
编辑:根据评论 "如何在客户端获取此数据"
您可以getJSON在视图中使用这样的数据
$(function(){
$.getJSON('YourController/YourAction', function(data) {
alert(data.Result);
alert(data.ID);
});
});
Run Code Online (Sandbox Code Playgroud)
确保在视图中加载了jQuery,以使此代码正常工作.
返回一个匿名对象。
return Json( new { Result = result, Id = ID } );
Run Code Online (Sandbox Code Playgroud)
我通常会做这样的事情:
public enum NoticeTypes
{
Default,
UpdateComplete,
ResponsePending,
Notice,
Error,
Redirect,
WaitAndRetryAttempt
}
public class AjaxJsonResponse
{
public UserNotice Notice { get; set; }
public object Data { get; set; }
private AjaxJsonResponse() { }
public static JsonResult Create(UserNotice Notice,object Data)
{
return new JsonResult()
{
Data = new
{
Notice = Notice,
Data = Data
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以编写 JavaScript 来始终期望 ajax 调用以某种格式返回数据。
return AjaxResponse.Create(NoticeTypes.UpdateComplete, new
{
Result = result,
Id = ID
});
Run Code Online (Sandbox Code Playgroud)
现在,您可以执行诸如 Ajax Complete 全局处理程序之类的操作,该处理程序可以拦截普通处理程序获取的内容Redirect或WaitAndRetry在普通处理程序获取它之前,并采用标准方式来传达有关返回数据的附加信息,这些信息在您的应用程序中是相同的。
| 归档时间: |
|
| 查看次数: |
62711 次 |
| 最近记录: |