テストASP.NETMVC3アプリにComboBox(Telerik RAD COmboBox)を入力しようとしています。
ASPXページでComboBoxを定義し、コントローラーでJsonResultを返すアクション呼び出しを定義しました。
私が抱えている問題は、使用しているWebサービスがすでに結果セットをJSON文字列として返していることです。 Webサービスからの応答を直接渡すにはどうすればよいですか。
コードのスニペットは次のとおりです。ASPXページ:
<% Html.Telerik().ComboBox()
.Name("cbRefTables")
.DataBinding(b => b
.Ajax()
.Select("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以降を使用している場合:
return Json(resultset, JsonRequestBehavior.AllowGet);
私が正しく理解していれば、Json()メソッドを使用する必要があります
return Json(resultset);