zoukankan      html  css  js  c++  java
  • MVC为Html对象建立一个扩展方法,使用自己的控件就像使用TextBox一样方便

    先看一下我想要的结果:

    image

    很容易它就是一个单选按钮组,当我后台为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对象的扩展方法就做好了,赶快去实践一个吧!

  • 相关阅读:
    线段树、树状数组
    贪心算法(Fatmouse’Trade、今年暑假不AC)
    搜索+DP专题(背包问题、N个数选K个使平方和最大且和为X、divide by three, multiple by two、全排列、组合、N皇后、jugs、掉石头迷宫、斐波那契、最大连续子序列和、最长上升子序列、非常可乐、导弹拦截系统:最长不降子序列)
    计算机考研机试指南(九)——搜索(百鸡问题、ABC、胜利大逃亡、迷宫问题、C翻转、旋转矩阵、字符串匹配、)
    计算机考研机试指南(八)——图论(畅通工程、还是畅通工程、最短路、more is better、Freckles、legal or not、确定比赛名次、产生冠军、最短路径问题)
    String与StringBuffer与StringBuilder
    replace into
    eclipse迅速新建main函数
    数据库视图什么时候需要用到
    springboot实现拦截器
  • 原文地址:https://www.cnblogs.com/lori/p/2145544.html
Copyright © 2011-2022 走看看