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

ASP.NET MVC 顯示 UserControl 進階:AscxUtility 封裝與 Action 重構

     編輯:關於ASP.NET

將渲染 UserControl 邏輯封裝為 AscxUtility 靜態類別,支援泛型與多載,可在 Action 與 Razor 視圖中直接呼叫。

AscxUtility 核心方法

public static HtmlString RenderControl<T>(string path) where T : UserControl {
    var page = new Page();
    var control = (T)page.LoadControl(path);
    page.Controls.Add(control);
    var writer = new StringWriter();
    var htmlWriter = new HtmlTextWriter(writer);
    page.RenderControl(htmlWriter);
    return new HtmlString(writer.ToString());
}

Controller 簡化

public ActionResult UcTest() {
    return Content(AscxUtility.RenderControl<WebUserControl1>("~/AspNets/WebUserControl1.ascx").ToString());
}

進一步支援視圖直接呼叫:@AscxUtility.RenderControl<WebUserControl1>("~/AspNets/WebUserControl1.ascx"),實現邏輯複用與關注點分離。

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