【ASP.NET MVC】HTML支援方法
3707 ワード
Html.ActionとHtml.RenderAction
Actionは、個別のコントローラ操作を実行し、結果を表示します.Actionは、コントローラ操作が不要なモデルを構築し、個別のコントローラコンテキストを利用することができるため、より柔軟性と再利用性を提供します.これらの2つの違いは、RenderActionが応答ストリームに直接書き込むことができることです.コードを見てみましょう.
ASP.NET MVC 3には、ControllerContextにもIschildActionという新しい属性があり、ActionまたはRenderActionメソッドでアクションが呼び出されるとその値はTrueとなり、1つのURLで呼び出されるとfalseとなる.
Actionは、個別のコントローラ操作を実行し、結果を表示します.Actionは、コントローラ操作が不要なモデルを構築し、個別のコントローラコンテキストを利用することができるため、より柔軟性と再利用性を提供します.これらの2つの違いは、RenderActionが応答ストリームに直接書き込むことができることです.コードを見てみましょう.
1 public class MyController
2 {
3 public ActionResult Index()
4 {
5 return View();
6 }
7
8 [ChildActionOnly]
9 public ActionResult Menu()
10 {
11 var menu=GetMenuFromSomewhere();
12 return PartialView(menu);
13 }
14 }
15 Menu
16
17 @model Menu
18 <ul>
19 @foreach(var item in Model.MenuItem)
20 {
21 <li>@item</li>
22 }
23 </ul>
24
25 Index.cshtml , Menu
26 <html>
27 <head></head>
28 <body>
29 @Html.Action("Menu")
30 </body>
31 </html>
32
33 Menu ChildActionOnlyAttribute ,
34 URL Menu , ,
35 Action RenderAction 。
ASP.NET MVC 3には、ControllerContextにもIschildActionという新しい属性があり、ActionまたはRenderActionメソッドでアクションが呼び出されるとその値はTrueとなり、1つのURLで呼び出されるとfalseとなる.