程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 使用自定義ViewHelper來簡化Asp.net MVC view的開發 - part5(完)

使用自定義ViewHelper來簡化Asp.net MVC view的開發 - part5(完)

編輯:關於ASP.NET

接上文..前面我們已經創建好了HtmlFieldSet,現在,為了讓HtmlHelper的擴展方法可以使用這個類 ,還需要創建一個方法:NewHtmlFieldSet

public static IViewObject NewHtmlFieldSet(
   this HtmlHelper htmlhelper, string name, string title, object  attributes)
{
   IViewObject viewObject = new HtmlFieldSet(
     new ViewRequestContext(htmlhelper), name, title, attributes);
   viewObject.StartView();
   return viewObject;
}

這個方法的實現和前面所提到的那些沒有上面不同,都是傳入相應參數並返回view object,在View被 初始化時返回這個對象,View首先在初始化時使用返回的View object,更確切點說,返回的IViewObject 會在using語句中被view使用,例子如下:

<% using (Html.NewHtmlFieldset("FieldsetName", "My Fieldset", null))
   { %>
   <li>
    <label for="FirstName">FirstName</label>
    <span id="FirstName"><%= Html.Encode(Model.FirstName) %></span>
   </li>
<% } %>

對應生成的HTML代碼如下:

<fieldset name="FieldsetName">
  <legend>My Fieldset</legend>
  <ol>
    <li>
     <label for="FirstName">FirstName</label>
     <span id="FirstName">Sayed</span>
    </li>
  </ol>
</fieldset>

EndView方法輸出了最後的三個結尾標簽(</li>,</ol>,</fieldset>),達到了 我們的預期,現在就可以使用view helper來創建fieldset以及包含在內的legend,以便達到更好的可理解 和可維護性。下面來看view helper是如何簡化view的開發的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved