MVCに移行する古いWebフォームアプリにたくさんのコードがあります。ビューによってHTMLが生成され、AJAX呼び出しによって再生成される必要があるさまざまなページのセクションがあります。このHTMLの多くは非常に複雑であるため、すべてのhtml生成を1つの場所(できればテンプレート)に保持するのに役立ちます。
私の質問は、これに対するより良いアプローチはありますか?部分ビューなどを使用する必要がありますか?それはどのようにWebService呼び出しに変換されますか?私ができるより効率的な何かがありますか?
基本的にこれは私が今していることです(これは本当に基本的でくだらない例なので、お詫びします):
擬似コード:
マークアップ
<!--- some html here -->
<div id="myContent">
<%=StaticMethods.GetContent()%>
</div>
<button id="btnUpdate">Update</button>
<!--- some html here -->
AJAXJavascriptyのもの
$(document).ready(function() {
$('#btnUpdate').click(function() {
$.ajax({
url:'MyService.asmx/MyWebServiceMethod',
/*crap here*/
success: function(result, status, code) {
$('#myContent').html(result);
}
});
});
});
静的メソッド
public static class StaticMethods {
public static string GetContent() {
var sb = new StringBuilder();
var somethings = GetSomeRandomThings();
//just an example. it's normally much more complex.
foreach(var something in somethings) {
sb.AppendFormat("<li>{0}</li>",something.Name);
}
}
}
MyWebService
public string MyWebServiceMethod() {
return StaticMethods.GetContent();
}