zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    htb系列-Web Challenges-Console
    htb系列-Web Challenges-FreeLancer
    离散数学1复习要点
    样本均值和总体均值的区别
    chapter7.参数估计
    计算机系统基础复习指北
    C语言学生信息管理系统
    数学的意义
    计算机系统基础第一章
    C语言文件读写的操作
  • 原文地址:https://www.cnblogs.com/fanglorry/p/4505262.html
Copyright © 2011-2022 走看看