HtmlHelper1
<div>
@using(Html.BeginForm("Test","Default"))
{
4 @Html.TextBox("name","rupeng");
@Html.Label("UserName","用户名:")@Html.TextBox("UserName")
}
</div>
自定义属性:
1、定义一个Model:Person类
class Person
{
public int Age{get;set;}
public int Height{get;set;
}
<div>
@using(Html.BeginForm("Test","Default"))
{
Person p1 = new Person(){Age=66,Height=166}
@Html.TextBox("name","rupeng",p1);//生成的HTML代码中就会添加上Age属性和Height属性
}
</div>
或者经常用匿名类
<div>
@using(Html.BeginForm("Test","Default"))
{
var p1 = new {haha=66,xixi=166}
@Html.TextBox("name","rupeng",p1);//生成的HTML代码中就会添加上haha属性和xixi属性
}
</div>
实际应用:
定义一个class类属性
<style type="text/css">
.warn{
color:red;
}
</style>
<div>
@using(Html.BeginForm("Test","Default"))
{
@Html.TextBox("name","rupeng",new {@class="warn",data_val="haha"});//生成的HTML代码中就会添加上class属性(值为warn)和data-val属性
}
</div>
用于表单验证:
有一个Model,Person类
public class Person
{
[DisplayName("用户名")]
[Required]
[StringLength()]
public string UserName { get; set; } [DisplayName("密码")]
[Required]
[StringLength()]
public string Password { get; set; } }
cshtml中代码
@using (Html.BeginForm("Login","Default")) { <span>用户名:</span>@Html.TextBox("UserName") <span>密码:</span>@Html.Password("Password") <input type="submit" value="提交"/> @Html.ValidationSummary() }
注:如果字段比较多,汇总消息显然不合适,那么就用@Html.ValidationMessage("UserName")值只显示UserName属性相关的错误信息。
比如:
@using (Html.BeginForm("Login","Default")) { <span>用户名:</span>@Html.TextBox("UserName") <span> @Html.ValidationMessage("UserName")</br>
密码:</span>@Html.Password("Password") <input type="submit" value="提交"/> }
controller中代码
public ActionResult Index() { return View(); }
public ActionResult Login(Person model)
{
if(!ModelState.IsValid)
{
return View("Index");//一定要返回表单原始页面
}
return Content(model.UserName);
}
HtmlHelper1的更多相关文章
随机推荐
- 解决VS2012新建MVC4等项目时,收到此模板加载程序集“NuGet.VisualStudio.Interop…”的错误
1.错误如图所示: 2.不管是VS2012,还是2013如果开始没安装Nuget包都或报这个错,因为VS2012就已经全面切换到使用NuGet这个第三方开源工具来管理项目包和引用模块了,使用VS201 ...
- Python学习笔记(四)——文件永久存储
文件的永久存储 pickle模块的使用 pickle的实质就是将数据对象以二进制的形式存储 存储数据 pickle.dump(data,file) data表示想要存储的数据元素,file表示要将数据 ...
- H5点击拨打电话,发短信
phone(){ window.location.href = 'tel:123123'// 拨打电话 window.location.href = 'sms:123123'// 发短信 }
- php数组的快速排序
function quick($array){ if(count($array)<=1){ return $array; } $key=$array[0]; $right=array(); $l ...
- python 使用字符串
字符串方法 string.digits:包含数字0-9的字符串 string.letters:包含所有字母(大写或小写)的字符串 string.lowercase:包含所有小写字母的字符串 strin ...
- day34 反射、面向对象内置方法:如__str__、面向对象的软件开发
Python之路,Day21 = 反射.面向对象内置方法:如__str__.面向对象的软件开发 几个内置查看的方法使用 .__base__ 查看类的继承结构.mro() 对象找属性的顺序存在里面 -- ...
- thinkphp switch标签
用法: <switch name="变量" > <case value="值1" break="0或1">输出内容1 ...
- VS2010-MFC(字体和文本输出:文本输出)
转自:http://www.jizhuomi.com/software/241.html 上一节讲了CFont字体类,本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确 ...
- System.Web.Mvc.HttpPatchAttribute.cs
ylbtech-System.Web.Mvc.HttpPatchAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, ...
- dart 异步
使用异步有两种方法 then 或者 async/await. async/await 方法更易于理解,