概述: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 = "你好" });}
源代码:https://files.cnblogs.com/files/fanglorry/MyMVC3Test.rar