Html辅助方法 之 Form表单标签

摘要:
@}){<inputclass=“text1”id=“Age”name=“Age”type=“text”value=“23”/>我是一个文本区域<selectname=“state”>list=newList<selectid=“state”multiple=“multiple”name=“state”>启用<禁用</select>

一、Html.BeginForm  <form>标签

复制代码
//视图代码
@using (Html.BeginForm("search", "home", FormMethod.Get),new { target="_black",@ }) {
<input type="text" value="" /> }
//生成的HTML代码
<form action="/home/search" class="form1" method="get" target="_black">
  <input type="text" value="" />
</form>
复制代码

  new里面的叫做htmlAttributes,能够设置本控件的HTML属性,至于class前面加个@是因为class在C#里是关键字。

二、Html.TextBox  <input type="text" /> 标签

//视图代码
@Html.TextBox("Age", "23", new { @  })
//生成的HTML代码
<input class="text1" id="Age" name="Age" type="text" value="23" />

三、Html.TextArea  <textarea>标签

//视图代码
@Html.TextArea("textarea1", "我是一个textarea", new { @  })
//生成的HTML代码
<textarea class="text_style" cols="20" id="textarea1" name="textarea1" rows="2">
    我是一个textarea
</textarea>

四、Html.Label  <label>标签

//视图代码
@Html.Label("label1","你好")
//生成的HTML代码
<label for="label1">你好</label>

五、Html.DropDownList  仅允许单选<select>

复制代码
 //视图代码
@{ List
<SelectListItem> list = new List<SelectListItem> { new SelectListItem { Text = "启用", Value = "0",Selected = true}, new SelectListItem { Text = "禁用", Value = "1" } }; } @Html.DropDownList("state",list,null,new{})

  //生成的Html代码

  <select name="state">
    <option selected="selected" value="0">启用</option> 
    <option value="1">禁用</option> 
  </select>

 
复制代码

六、Html.ListBox  允许多选的<select>

复制代码
 //视图代码为
 @{ 
        List<SelectListItem> list = new List<SelectListItem> {
            new SelectListItem { Text = "启用", Value = "0",Selected = true},
            new SelectListItem { Text = "禁用", Value = "1" } 
        };
 }
 @Html.ListBox("state",list)
 //生成的HTML代码为
<select id="state" multiple="multiple" name="state">
    <option selected="selected" value="0">启用</option>
    <option value="1">禁用</option>
</select>
复制代码

七、Html.Hidden  <input type="hidden" />

//视图代码
@Html.Hidden("hidden1","我是一个隐藏域",new{});
//输出到浏览器的HTML代码
<input id="hidden1" name="hidden1" type="hidden" value="我是一个隐藏域" />;

八、Html.Password  <input type="password" />

//视图代码
@Html.Password("password1", 123321, new { @  })
//生成的HTML代码为
<input class="class1" id="password1" name="password1" type="password" value="123321" />

九、Html.RadioButton  <input type="radio" />

复制代码
//视图代码
@Html.RadioButton("radio1",1,false)
@Html.RadioButton("radio1",2,false)
@Html.RadioButton("radio1",3,true)
//生成的HTML代码为
<input id="radio1" name="radio1" type="radio" value="1" />
<input id="radio1" name="radio1" type="radio" value="2" />
<input checked="checked" id="radio1" name="radio1" type="radio" value="3" />
复制代码

十、Html.CheckBox  <input type="checkbox" />

复制代码
//视图代码
男人:@Html.CheckBox("check1", true, new { });
女人:@Html.CheckBox("check1", false, new { });
其它:@Html.CheckBox("check1", false, new { });
//生成的HTML代码为:
男人:<input checked="checked" id="check1" name="check1" type="checkbox" value="true" /><input name="check1" type="hidden" value="false" />;
女人:<input id="check1" name="check1" type="checkbox" value="true" /><input name="check1" type="hidden" value="false" />;
其它:<input id="check1" name="check1" type="checkbox" value="true" /><input name="check1" type="hidden" value="false" />;
复制代码

 十一、ActionLink    <a>

@Html.ActionLink("列表页", "list")
//生成的HTML代码
<a href="/Home/list">列表页</a>

十二、自动绑定

N、辅助方法在构建UI的同时会帮助绑定到控件

  例如:

复制代码
        
     //这是一个controller
     public ActionResult Index() { ViewBag.Name = "张三"; return View(); }
     //在视图里面有一个
     @Html.TextBox("Name");
     //浏览器中生成
     <input id="Name" name="Name" type="text" value="张三" />
复制代码

   我们看到,在构建UI的时候,我们设置了一个ViewBag.Name,而同时视图里面又有一个TextBox("Name");在相同名称的情况下,MVC自动为我们绑定了数据。再来看一个:

复制代码
 //后端代码
  public class Man
  {
    public string Name
    {
      get;
      set;
    }
  }
  public ActionResult Index() 
  {
    ViewBag.man = new Man { Name = "张三" };
    return View();
  }
//视图代码
@Html.TextBox("man.Name")
//生成的HTML代码
<input id="man_Name" name="man.Name" type="text" value="" />
复制代码

  留意到,id的名称中的.已经变为下划线,这是以为"."在Id里面是不合法的,也是要留给javascript用的。

免责声明:文章转载自《Html辅助方法 之 Form表单标签》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何自动生成测试用例方案python学习——re模块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue中使用openlayer做风场图

<template> <div class="box"> <div ref="emap" id="map"></div> <div id="popup" class="ol-popup"> <a href="#" id="popup-closer" class...

RocketMQ系列:rocketmq运维控制台搭建

1.前言 RocketMQ-console是rocketmq的运维控制台,简称console。可以用于查看rocketmq集群状态,管理topic/producer/consumer等,并且提供了相关的数据统计视图。 console页面上的操作和mqadmin的命令行的功能基本一致,只是使用这种web的方式使用起来会更加便捷。 2.项目说明 地址:http...

PyCharm创建普通项目配置支持jinja2语法

打开项目的根目录的.idea文件夹中项目名.iml文件(隐藏文件) 打开这个iml文件,在component标签的同级,添加如下代码: <component name="TemplatesService"> <option name="TEMPLATE_CONFIGURATION" value="Jinja2" /> <opt...

Httpwebrequest并发连接数设置

前段时间用.net写了一个win服务,用来作Http并发请求,但发现请求数达到一定数量就停止了,剩余的并发请求出现了很多超时情况。 查了资料发现,原来Httpwebrequest有一个默认连接数限制。win2003默认10个,一般个人操作系统2个。要想增加并发请求,必须修改Http的连接数。有两种方法可以修改: 1,在代码中修改: ServicePoi...

LinQ 入门系列 [OfType,ToArray,ToList,ToDictionary]

先说点理论1.OfType :     即接受基于IEnumerable<T> 接口的信息源,也接受那些在 .NET Framework 1.0 中出现的非参数化的 IEnumerable 接口(non-parameterized IEnumerable interface)。OfType 操作符允许用户在标准的 .NET collection...

background属性怎么添加2个或多个背景图

  最近遇到一个需求,下面充值金额按钮是一个背景图,点击之后显示的状态也是一个背景图,如下图             按照惯用的套路,新增一个class,点击后的状态直接写在里面即可      然而点击后,虽然状态背景成功显示出来,但按钮背景却消失了       此时,我突然想起background可以添加2个或多个背景,于是修改代码后如下,      本...