(asp.net MVC学习)System.Web.Mvc.HtmlHelper学习及使用
在ASP.NET MVC框架中没有了自己的控件,页面显示完全就回到了写html代码的年代。还好在asp.net mvc框架中也有自带的HtmlHelper和UrlHelper两个帮助类。另外在MvcContrib扩展项目中也有扩展一些帮助类,这样我们就不光 只能使用完整的html来编写了需要显示的页面了,就可以使用这些帮助类来完成,但最后运行时都还是要生成html代码的。
先来看看HtmlHelper能帮我们生成一些什么样的html呢。直接看效果吧。
<div>
1.使用HtmlHelper生成超链接:
<%=Html.ActionLink("我是超链接","") %>
<br />
2.使用HtmlHelper生成表单:
<% Html.BeginForm("Index", "Simple", FormMethod.Post, new { id = "myForm" }); %>
<% Html.EndForm();%>
<br />
3.使用HtmlHelper根据路由规则生成表单:
<% Html.BeginRouteForm(new { controller = "Simple", action = "Demo" }); %>
<%Html.EndForm(); %>
<br />
4.使用HtmlHelper生成一个复选框:
<%= Html.CheckBox("checkBox",new { id="myCheckBox" })%>复选框
<br />
5.使用HtmlHelper生成上拉列表框:
<% var dropList = new List<SelectListItem>();
for (int i = 0; i < 5; i++)
{
var dropItem = new SelectListItem();
dropItem.Value = i.ToString();
dropItem.Text = i.ToString();
dropList.Add(dropItem);
}
%>
<%=Html.DropDownList("myList", dropList, new { style = "width:100px;" })%>
<br />
6.使用HtmlHelper生成隐藏域:
<%=Html.Hidden("hidden") %>
<br />
7.使用HtmlHelper生成列表框:
<%var list = new List<SelectListItem>();
for (var i = 0; i < 5; i++)
{
var item = new SelectListItem();
item.Value = i.ToString();
item.Text = i.ToString();
list.Add(item);
}
%>
<%=Html.ListBox("listBox", list, new {style="width:100px;" })%>
<br />
8.使用HtmlHelper生成密码输入框:
<%=Html.Password("password","longgel") %>
<br />
9.使用HtmlHelper生成单选框:
<%=Html.RadioButton("radio","boy",true) %>男
<%=Html.RadioButton("radio","girl",false) %>女
<br />
10.使用HtmlHelper生成部分视图(用户控件):
<% Html.RenderPartial("PartialView"); %>
<br />
11.使用HtmlHelper根据路由规则生成超链接:
<%= Html.RouteLink("我是由路由生成的超链接",new {controller="Simple",action="Index"}) %>
<br />
12.使用HtmlHelper生成富文本框:
<%=Html.TextArea("myTxtArea",new{style="width:300px; height:100px;"}) %>
<br />
13.使用HtmlHelper生成文本框:
<%=Html.TextBox("myTxtBox","我是文本框")%>
</div>
其实大家可能注意到了,当我们在使用<%%>中有同样都是使用的HtmlHelper中的方法,为什么有的需要加上等号,有的不需要,
其实在HtmlHelper中的方法中,只要是返回的是MvcHtmlString类型的方法都需要使用等号将值输出。在来看看生成的结果吧。
<div> 1.使用HtmlHelper生成超链接: <a href="/">我是超链接</a> <br /> 2.使用HtmlHelper生成表单: <form action="/" id="myForm" method="post"></form> <br /> 3.使用HtmlHelper根据路由规则生成表单: <form action="/Simple/Demo" method="post"></form> <br /> 4.使用HtmlHelper生成一个复选框: <input id="myCheckBox" name="checkBox" type="checkbox" value="true" /><input name="checkBox" type="hidden" value="false" />复选框 <br /> 5.使用HtmlHelper生成上拉列表框: <select id="myList" name="myList" style="width:100px;"><option value="0"></option> <option value="1"></option> <option value="2"></option> <option value="3"></option> <option value="4"></option> </select> <br /> 6.使用HtmlHelper生成隐藏域: <input id="hidden" name="hidden" type="hidden" value="" /> <br /> 7.使用HtmlHelper生成列表框: <select id="listBox" multiple="multiple" name="listBox" style="width:100px;"><option value="0"></option> <option value="1"></option> <option value="2"></option> <option value="3"></option> <option value="4"></option> </select> <br /> 8.使用HtmlHelper生成密码输入框: <input id="password" name="password" type="password" value="longgel" /> <br /> 9.使用HtmlHelper生成单选框: <input checked="checked" id="radio" name="radio" type="radio" value="boy" />男 <input id="radio" name="radio" type="radio" value="girl" />女 <br /> 10.使用HtmlHelper生成部分视图(用户控件): <span style="background-color:Red">Hi,我是部分视图(用户控件)</span> <br /> 11.使用HtmlHelper根据路由规则生成超链接: <a href="/">我是由路由生成的超链接</a> <br /> 12.使用HtmlHelper生成富文本框: <textarea cols="20" id="myTxtArea" name="myTxtArea" rows="2" style="width:300px; height:100px;"> </textarea> <br /> 13.使用HtmlHelper生成文本框: <input id="myTxtBox" name="myTxtBox" type="text" value="我是文本框" /> </div>
另外HtmlHelper中还有ValidationMessage()和 ValidationSummary()等方法,下次学到验证的时候一起写出来。^_^
在ASP.NET MVC框架中没有了自己的控件,页面显示完全就回到了写html代码的年代。还好在asp.net
mvc框架中也有自带的HtmlHelper和UrlHelper两个帮助类。另外在MvcContrib扩展项目中也有扩展一些帮助类,这样我们就不光
只能使用完整的html来编写了需要显示的页面了,就可以使用这些帮助类来完成,但最后运行时都还是要生成html代码的。
先来看看HtmlHelper能帮我们生成一些什么样的html呢。直接看效果吧。
其实大家可能注意到了,当我们在使用<%%>中有同样都是使用的HtmlHelper中的方法,为什么有的需要加上等号,有的不需要,
其实在HtmlHelper中的方法中,只要是返回的是MvcHtmlString类型的方法都需要使用等号将值输出。在来看看生成的结果吧。
另外HtmlHelper中还有ValidationMessage()和 ValidationSummary()等方法,下次学到验证的时候一起写出来。^_^
原文:http://www.cnblogs.com/longgel/archive/2010/02/03/1662894.html
(asp.net MVC学习)System.Web.Mvc.HtmlHelper学习及使用的更多相关文章
- MVC的System.Web.Mvc.ViewPage小结
Inherits="System.Web.Mvc.ViewPage<dynamic>这一句最好是自己手动修改,如果是维护用户数据,用户对象名是User,改成Inherits=&q ...
- (asp.net MVC学习)System.Web.Mvc.UrlHelper的学习与使用
上一次学习了HtmlHelper帮助类,这次我们学习一下UrlHelper帮 助类,看类名也都知道这个类是用来帮我们生成URL在ASP.NET MVC应用程序中.让我们来看看该类给我们带来了哪些方便的 ...
- ASP.NET MVC2未能加载类型“System.Web.Mvc.ViewPage的解決方法
问题描述: “/”应用程序中的服务器错误. 分析器错误 说明: 在分析向此请求提供服务所需资源时出错.请检查下列特定分析错误详细信息并适当地修改源文件. 分析器错误消息: 未能加载类型“System. ...
- Could not load type 'System.Web.Mvc.ViewPage<dynamic>' in asp.net mvc2 after publishing the website
在WebConfig里 找到 <pages></pages> <pages pageParserFilterType="System.Web.Mvc.ViewT ...
- <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
Asp.net Mvc 未能加载类型“System.Web.Mvc.ViewPage 的解決方法 2010-11-30 17:31:51| 分类: .net mvc |举报 |字号 订阅 如果多 ...
- 修改System.Web.Mvc.WebViewPage创建自己的pageBase
<system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, ...
- System.Web.Mvc 找到的程序集清单定义与程序集引用不匹配
System.IO.FileLoadException: 未能加载文件或程序集"System.Web.Mvc, Version=5.0.0.0, Culture=neutral, Publi ...
- asp.net MVC3 “System.Web.Mvc.ModelClientValidationRule”问题
错误提示: Error 1 The type 'System.Web.Mvc.ModelClientValidationRule' exists in both 'c:\Program Files ( ...
- MVC 5.0 之奇葩错误-<类型“ASP._Page__ViewStart_cshtml”不从“System.Web.WebPages.StartPage”继承>
在实际项目中,我们通常添加MVC项目会先添加一个MVC Empty 的项目,然后需要什么在往里面添加. 但是Empty项目里面只有一个路由注册,而且没有_ViewStart.cshtml文件需要自己添 ...
随机推荐
- onclick用法 超链接简单弹出窗口实例
问题 需要异步处理不同状态 1. onclick用法 if判断弹出窗口 解题思路 1. onclick用法 if判断弹出窗口 注意.. <a href="javascript:void ...
- Python之路第八天,基础(9)-面向对象(下)
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...
- HD1083 二分图,匈牙利算法
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<stdio.h> #include<stdlib. ...
- nginx上传模块nginx_upload_module使用
1.安装模块 1 cd /data/software 2 wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.t ...
- LoggingApplicationListener
org.springframework.boot:spring-boot:1.3.0.M1 spring-boot-1.3.0.M1.jar package org.springframework.b ...
- (十)boost库之多线程
(十)boost库之多线程 1.创建线程 使用boost库可以方便的创建一个线程,并提供最多支持9个参数的线程函数,相对于void*来说,方便了很多,创建线程主要提供了一下3种方式: 线程库头文件:# ...
- sql 数据库 庞大数据量 需要分表
17:04:05问下 在什么情况下 审核分区啊 ~..大熊..o○ 17:06:53这个要看应用~..大熊..o○ 17:07:37比如数据量很大,查询多是按照时间段查询,就可以用时间段来做分区~.. ...
- UVA11988 Broken KeyBoard
链表的思想很简单,要做到活用也不难.一般我是这样做得,从实际问题出发,先高度的概括符不符合链表的特点.能不能用链表简单解决.接着,就是编码.链表编码要理清细节性思路,最好是简单的画下图,正如改题的链表 ...
- 2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客
2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客 腰差和胸臀差的应用(2009-06-16 19:24:57)转载▼标签:校园 前面已经对这两个概念作了简单的讲解.这两个概 ...
- spring 定时任务(3)--配置多个定时任务
<!-- 定义调用对象和调用对象的方法 --> <!-- 定时任务 A start --> <bean id="jobtask" class=&quo ...