Web サービス プロバイダーを呼び出す asp.net mvc 4 Web アプリケーションを構築しています。次に、Java スクリプトを使用して Web サービス呼び出しから返された json の結果を表示しています。たとえば、コントローラーレベルでは、次のアクションメソッドがあります:-
public ActionResult ListPackages()
{ using (var client = new WebClient())
{ try
{
var query = HttpUtility.ParseQueryString(string.Empty);
var url = new UriBuilder("http://localhost:8080/jw/web/json/workflow/package/list");
url.Query = query.ToString();
string json = client.DownloadString(url.ToString());
Thread.Sleep(500);
return Content(json, "application/json");
}
catch (System.Net.WebException) {
return Content("error", "application/json");
} } }
次に、ビューに JSON を表示するために Java スクリプトを使用しています:-
function getpackagelist(result) {
$('#products').empty();
$('#title').text("All Processes");
$.each(result.data, function (key, val) {
var str = val.packageName;
$('<li/>', { text: str })
.appendTo($('#products'));
});
$('#tobehide').hide();
最後に、ビューには、上記のアクション メソッドと Java スクリプトを呼び出す次のコードがあります。
@{
ViewBag.Title = "Home Page";
}
@Ajax.ActionLink("Get Process List", "ListPackages", "Home",
new AjaxOptions
{ HttpMethod = "GET",
LoadingElementId = "tobehide",
OnBegin = "clear",
OnFailure = "clear",
OnSuccess = "getpackagelist"
})
<div id= "geturl" data-url="@Url.Action("ListPackages", "Home")">
<img class="hide" id="tobehide" src="~/Content/ajax-loading2.gif" />
<h1 id ="title"></h1>
<ul id="products">
</ul>
</div>
上記はうまくいっていますが、javascriptを使ってスタッフ全員を行うのは難しいと思うので、javascriptを使用する代わりにJSONをモデルとして強く型付けされたビューに渡すことを考えていますが、次の質問があります:-
これら 2 つのアプローチの長所と短所は何ですか (javaScript を使用するか、JSON を厳密に型指定されたビューに渡すか)。
JSON をモデルとして厳密に型指定されたビューに渡す方法。
どのアプローチに従うべきですか??
助けてくれてありがとう。
よろしくお願いします