从MVC控制器中的JsonResult方法返回JSON
问题描述:
我想在测试ASP.NET MVC3应用程序中填充ComboBox(Telerik RAD COmboBox)。从MVC控制器中的JsonResult方法返回JSON
我在我的ASPX页面上定义了ComboBox,并在控制器中定义了返回JsonResult的动作调用。
我遇到的问题是我正在使用的Web服务已经将结果集作为JSON字符串返回。我怎样才能直接传递来自Webservice的响应。
这里是代码的片段: ASPX页: <%Html.Telerik()组合框() 请将.Name( “cbRefTables”) .DataBinding(B => b 阿贾克斯() 。选择(“GetCALMdata”,“Common”)
) .Render(); %>
控制器:称为CommomController
public JsonResult GetCALMdata()
{
CALMwsP.wsCALMSoapClient wsC = new CALMwsP.wsCALMSoapClient("wsCALMSoap");
string resultset = wsC.GetRefTables("P_1", "P_2", "P_3", "P_4");
return ??; -- I want to return resultset which is already formatted.
}
答
如果resultset
字符串已经是JSON(而不是包裹在任何XML),那么你会希望与正是字符串作为内容返回ContentResult
:
public ContentResult GetCALMdata()
{
CALMwsP.wsCALMSoapClient wsC = new CALMwsP.wsCALMSoapClient("wsCALMSoap");
string resultset = wsC.GetRefTables("P_1", "P_2", "P_3", "P_4");
return Content(resultset, "application/json");
}
你不想使用JsonResult
或Json()
助手在这种情况下,因为这是要最终重新序列化您的JSON。
答
如果我理解正确应使用ASP.NET MVC 2或更高使用JSON()方法
return Json(resultset);
什么是使用参考? – 2013-02-08 04:40:58