1. 程式人生 > >MVC為Html對象建立一個擴展方法,使用自己的控件就像使用TextBox一樣方便

MVC為Html對象建立一個擴展方法,使用自己的控件就像使用TextBox一樣方便

public viewpage 方法 per his stat spa .html view

先看一下我想要的結果:

技術分享

很容易它就是一個單選按鈕組,當我後臺為Html對象(HtmlHelper的一個實例,它被定義在System.Web.Mvc名稱空間下的WebViewPage類,即它對於所有MVC頁面都可用)建立好擴展方法後,使用以下語句就可以生成上面的效果:

@Html.CreateGanderRadioButton()
擴展方法的定義:
namespace Web.Helper
{
    public static class ExtendHtml
    {
        public static MvcHtmlString CreateGanderRadioButton(this System.Web.Mvc.HtmlHelper html)
        {
            StringBuilder str = new StringBuilder();
            str.Append("<input type=‘radio‘ value=1 name=‘gander‘>男");
            str.Append("<input type=‘radio‘ value=0 name=‘gander‘>女");
            return MvcHtmlString.Create(str.ToString());
 
        }
    }
}
註意,它所在的類必須是public static的,也就是說,它的擴展方法本身也是public static的。
對於,直接在頁面上使用我們的方法,還是差了一步,那就是,要在web.config裏把Web.Helper名稱
空間加上,頁面上才能訪問的到:
 <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages"/>
        <add namespace="Web.Helper" />
 </namespaces>

OK,現在一個Html對象的擴展方法就做好了,趕快去實踐一個吧!

MVC為Html對象建立一個擴展方法,使用自己的控件就像使用TextBox一樣方便