首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Html.Action 與 Html.RenderAction:ASP.NET MVC 子動作輔助方法

     編輯:關於ASP.NET

Html.Action 與 Html.RenderAction 執行獨立 Controller Action 並呈現結果,提供更高靈活性與重用性。兩者差異:RenderAction 直接寫入回應串流 (void 回傳),Action 回傳 HTML 字串 (可直接內嵌)。

範例

public class MyController {
    public ActionResult Index() { return View(); }
    [ChildActionOnly]
    public ActionResult Menu() {
        var menu = GetMenuFromSomewhere();
        return PartialView(menu);
    }
}

View Menu.cshtml:

@model Menu
<ul> @foreach(var item in Model.MenuItem) { <li>@item</li> } </ul>

於 Index.cshtml 呼叫:

@Html.Action("Menu")  或  @{ Html.RenderAction("Menu"); }

[ChildActionOnly] 屬性防止直接 URL 存取。MVC 3 新增 ControllerContext.IsChildAction 屬性供程式碼判斷。

適合導航選單、側邊欄、購物車摘要等跨頁面共用且需獨立資料邏輯的區塊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved