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 = "你好" });}
View Code

源代码:https://files.cnblogs.com/files/fanglorry/MyMVC3Test.rar

原文地址:https://www.cnblogs.com/fanglorry/p/4505262.html