MVC之路随记3--Html辅助方法
概述:MVC中使用@Html.MethodName 来做很多Html的事情,简化了开发工程量,使用方便,并且易于理解
详细方法:
1.表单
<form action="/Home/Search" method="get">
<input type="text" name="q" />
<input type="submit" value="go" />
</form> @*Action名字+控制器名+链接方式*@
@using (Html.BeginForm("Search", "Home", FormMethod.Get))
{
<p>另一种方式:BeginForm方法</p>
<input type="text" name="q" />
<input type="submit" value="go" />
}
2.简单的元素使用方式
@*默认表单*@
@using (Html.BeginForm())
{
//id + value,不加第二个参数亦可
@Html.TextBox("Title","开始Html辅助方法的学习")
//将模板值传入
@Html.TextBox("Title", Model.FirstOrDefault().UserName)
<br /> //同上 输出的是非Html
@Html.TextArea("text", "hello <br/> world")
<br />
//输出的是html
@Html.Raw("hello <br/> world") <br />
//para2为SelectList类型,实例化时传入一个Linq序列
@Html.DropDownList("Title", new SelectList(Model.Select(p => p.UserName)))
<br />
@Html.Label("Title") }
其中使用的Model是@model IEnumerable<LogOnModel>,LogOnModel是建工程时的默认实体类
3.其他的辅助方法
@*直接使用类型的字段名可以显示UserName的值*@
@Html.TextBox("UserName")
@*"~for"之类的辅助方法可以传入一个Func方法即可*@
@Html.EditorFor(p => p.UserName)
@Html.LabelFor(p=>p.UserName) @*生成一个Type为Hidden的Input元素,并且赋值value=1或等于模板的UserName*@
@Html.Hidden("value", "1");
@Html.HiddenFor(m => m.UserName) @*组名+value+是否选中*@
@Html.RadioButton("color","red",true) jack<br/>
@Html.RadioButton("color2", "blue") mary<br/>
@Html.RadioButton("color", "green") sum<br/> @*锚,链接文本+Action名(同一个Controller下直接写Action名,其他Controller则需写全路径)+带参数字段键值对的匿名方法*@
@Html.ActionLink("一个连接", "Index");
@Html.ActionLink("带参数的链接", "Search", new { q="带参数的链接"}) @*只是生成一个Url文本,没有链接*@
@Url.Action("Index","Home",new {q="heihie"},null) @Html.Password("pwd"); @Html.CheckBox("isDiscounted",true)
@Html.CheckBox("esDiscounted")
@Html.CheckBox("asDiscounted") @*类似ActionLink*@
@Html.RouteLink("路由链接", new { action = "About" })
@*加载分布视图 第一种方式更方便,第二种直接写入响应流,可以带来微弱的效益,当数据并发,大数据时可以使用之*@
@Html.Partial("_LogOnPartial")
@{Html.RenderPartial("_LogOnPartial");} @*执行单独的Action来显示视图*@
@Html.Action("CoolMenu")
@{Html.RenderAction("CoolMenu", new { str = "你好" });}
源代码:http://files.cnblogs.com/files/fanglorry/MyMVC3Test.rar
MVC之路随记3--Html辅助方法的更多相关文章
- ASP.NET MVC 3 之表单和 HTML 辅助方法(摘抄)
——选自<ASP.NET MVC3 高级编程(第5章) 孙远帅 译> 第5章 表单和HTML辅助方法 本章内容简介: * 理解表单 * 如何利用HTML辅助方法 * 编辑和输入的辅助方法 ...
- APS.NET MVC + EF (07)---表单和HTML辅助方法
在ASP.NET MVC中,可以借助HtmlHelper 对象来输出页面内容,提高开发效率.下面,我们将介绍一些常用的辅助方法. 7.1 HTML辅助方法 BeginForm 该辅助方法主要用来产生& ...
- MVC中使用内建的HTML辅助方法产生表单元素提交表单与button按钮事件的陷阱
网站模板页有个登陆的退出按钮,当点击时跳转到登陆页面. <button onclick="logout()" >退出</button> $("#l ...
- MVC之路随记2--Razor基础
1.概述:Razor是mvc 3.0新扩展的内容,是默认的视图引擎,引擎一词可理解为Web Form中<% %>中的变形,但是Razor更加干净,轻量级,简单.使用了该引擎后,文件的后缀名 ...
- MVC之路随记1--Filter的应用
功能:MVC提供过滤器Filter,使开发者不用复杂的实现AOP而直接用Filter实现同样的功能. 实现:1.定义一个类实现ActionFilterAttribute,重载借口中的方法后在Contr ...
- MVC视图中Html.DropDownList()辅助方法的使用
我们先在控制器中准备好一个SelectList类型,然后通过ViewBag.List传入视图中.SelectList类型是ASP.NET MVC专门为列表有关的HTML辅助方法提供选项的,例如,Htm ...
- 【ASP.NET MVC系列】浅谈表单和HTML辅助方法
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...
- MVC 之HTML辅助方法
顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...
- MVC HTML辅助方法
HTML辅助方法(HTML Helper)用来辅助产生HTML,在开发View的时候会面对许多HTML标签,处理这些HTML标签非常繁琐,为了降低View的复杂度,可以使用HTML辅助方法帮助你产生一 ...
随机推荐
- ActiveReports中如何在后台导出运行时绑定数据源报表
ActiveReports支持运行时绑定数据源功能,这种绑定数据源方法使用较为普及,然而很多系统中都需要在后台导出报表文件,所以用户就很困惑,ActiveReports中如何在后台导出运行时绑定数据源 ...
- Python常用内置函数总结
一.数学相关 1.绝对值:abs(-1)2.最大最小值:max([1,2,3]).min([1,2,3])3.序列长度:len('abc').len([1,2,3]).len((1,2,3))4.取模 ...
- 在android 中开发java.net.SocketException: socket failed: EACCES (Permission denied) 报错
在android中下载文件,写好下载文件的代码后需要配置相应的权限 <uses-permission android:name="android.permission.INTERNET ...
- 如何刷新DNS缓存
经常换空间的朋友一定知道,域名解析到新空间后,要一段时间才会生效到新空间,这是由于本地的DNS生效不及时导致的.这里青互联教大家一个即时更新本地DNS的方法. 在不同的系统中刷新DNS缓存的方法如下. ...
- postgres 类型转换 cast 转
转自: http://blog.csdn.net/yufenghyc/article/details/45869509 --1 例子postgres=# select 1/4; ?column? -- ...
- 虚拟机启动linux系统报错,此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
在使用虚拟机启动linux的时候报错,如下: 已将该虚拟机配置为使用 64 位客户机操作系统.但是,无法执行 64 位操作. 此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态. ...
- easyui datagrid 逻辑分页
function getGroupUsers(groupPath) { $('#tbGroupUsersList').datagrid({ width: 800, height: 100, nowra ...
- Rendering Problems:android.support.v7.internal.widget.ActionBarOverlayLayout 解决方法
不知道是不是android studio安装不对的问题,每次新建项目都有这个问题. 临时解决方法是: 打开 styles.xml 在Theme.AppCompat.Light.DarkActionBa ...
- Web Api 多项目文档生成之SwaggerUI
SwaggerUI 可以生成不错的文档,但默认只能作用于单个api 项目,研究了一下源码发现只需修改一下SwaggerConfig.cs文件即可支持多API项目 1.使用生成脚本把xml文件复制到AP ...
- html中frameset简介
1, 只 要 <FRAMESET> <FRAME> 两个标签,框架便是网页画面分成几个框窗,同时取得多个 URL. 2, 该框架只记录如何划分,不会显示任何资料.所以不必放入 ...