欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

主攻ASP.NET.3.5.MVC架构之重生:HtmlHelper(一)

程序员文章站 2022-03-30 22:16:58
htmlhelper   formextensions静态类   beginform,beginrouteform,endform 三种类型 &nbs...

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