MVC之路随记3--Html辅助方法

时间:2023-03-09 02:52:41
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