htmlhelper

 

formextensions静态类

 

beginform,beginrouteform,endform 三种类型

 

 

formmethod.post优先级最高

 

 

可以在多个地方设置action参数,htmlattributes优先级别最高

 

 

beginrouteform扩展方法,提供开发者使用

 

 

设置路由值字典类型的id值和class值

 

 

endform

 

<%html.endform(); %>

 

 

代码

    <%using (html.beginform(“index”, “home”, formmethod.post, new { action = “/controller/actionname” }))

      {%>

    表单内容

    <%}

    %>

    <%using (html.beginform(“index”, “afindex”,

          new routevaluedictionary { { “id”, 123 } },

          formmethod.post,

          new routevaluedictionary { { “class”, “cssname” } }

 

          ))

      {%>

    13重载方法

    <%}

    %>

    <%using (html.beginrouteform(new { action = “action” }))

      {%>

    beginrouteform扩展方法,提供开发者使用

    <%}

    %>

    <%html.endform(); %>

inputextensions类

checkbox,hidden,password,radiobutton,textbox五种类型

 

checkbox

 

 

 

代码:

<%=html.beginform(“checkbox”,”home”) %>

<fieldset>

<legend>设置字体:</legend>

 

<%=html.checkbox(“mycheckbox1″,true,new{id=”checkbox1”}) %>

<label for=”checkbox1″>黑体</label>

<%=html.checkbox(“mycheckbox2″,false,new{id=”checkbox2”}) %>

<label for=”checkbox1″>斜体</label>

<br/>

<input type=”submit” value=”submit” />

</fieldset>

<%html.endform(); %>

 

<:content id=”content2″ contentplaceholderid=”maincontent” runat=”server”>

 

<h2>checkbox</h2>

<%=html.textbox(“t1”, viewdata[“t1”])%>

<%=html.textbox(“t2”, viewdata[“t2”])%>

</asp:content>

 

public actionresult checkbox(formcollection formcollection)

{

       //通过索引获得复选框控件状态值字符串

       bool mycheckbox1 = formcollection[0].contains(“true”);

//通过键值获得复选框控件状态值字符串

       bool mycheckbox2 = formcollection[“mycheckbox2”].contains(“true”);

 

       if (mycheckbox1)

              viewdata[“t1”] = “1选中”;

       else

              viewdata[“t1”] = “1未选中”;

       if (mycheckbox2)

              viewdata[“t2”] = “2选中”;

       else

              viewdata[“t2”] = “2未选中”;

       return view();

 

}

 

hidden

<%=html.hidden(“name”,123) %>

 

password

<%=html.password(“password”,123) %>

 

radiobutton

 

 

 

 

<% using (html.beginform(“radiobutton”, “home”))

   {%>

<fieldset>

       <legend>设置字号</legend>

       <%=html.radiobutton(“myradiobutton”,”myvalue1″,true,new{id=”myradiobutton1″})%>

       <label for=”myradiobutton1″>

              10#</label>

       <%=html.radiobutton(“myradiobutton”,”myvalue2″,true,new{id=”myradiobutton2″})%>

       <label for=”myradiobutton1″>

              20#</label>

       <input class=”button” type=”submit” value=”提 交” />

</fieldset>

<%} %>

 

<h2>radiobutton</h2>

<%=html.textbox(“t1”, viewdata[“myradiobutton”])%>

 

 

        public actionresult radiobutton(formcollection formcollection)

        {

            string radiobuttion1=formcollection[0];

            string radiobuttion2 = formcollection[“myradiobutton1”];

 

            viewdata[“myradiobutton”] = radiobuttion1;

            return view();

        }

textbox

<%=html.textbox(“message”) %>

 

 

 

<%=html.textbox(“mytextbox”, null, new { size=50})%>

 

linkextensions类

actionlink,routelink两种类型

actionlink

 

actionlink扩展方法主要实现一个连接

<%=html.actionlink(“actionlink”, “about”)%>

 

 

<%=html.actionlink(“actionlink”, “about”,”home”)%>

routelink

<%=html.routelink(“routlink”, “default”, new { id = 100 })%>

 

renderpartialextensions类

 

renderpartial该用户控件主要用来显示数据表categories

在asp.net mvc中使用renderpartial方法时的一些性能问题,记住两点:一是在asp.net mvc应用程序发布到生产服务器时,别忘了关闭debug模式(对于asp.net webform应用程序也是一样);二时尽可能的减少调用renderpartial方法的次数,如通过在usercontrol中进行遍历等方法。

 

摘自 小念头-cube.net