<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的更多相关文章

随机推荐

  1. 解决VS2012新建MVC4等项目时,收到此模板加载程序集“NuGet.VisualStudio.Interop…”的错误

    1.错误如图所示: 2.不管是VS2012,还是2013如果开始没安装Nuget包都或报这个错,因为VS2012就已经全面切换到使用NuGet这个第三方开源工具来管理项目包和引用模块了,使用VS201 ...

  2. Python学习笔记(四)——文件永久存储

    文件的永久存储 pickle模块的使用 pickle的实质就是将数据对象以二进制的形式存储 存储数据 pickle.dump(data,file) data表示想要存储的数据元素,file表示要将数据 ...

  3. H5点击拨打电话,发短信

    phone(){ window.location.href = 'tel:123123'// 拨打电话 window.location.href = 'sms:123123'// 发短信 }

  4. php数组的快速排序

    function quick($array){ if(count($array)<=1){ return $array; } $key=$array[0]; $right=array(); $l ...

  5. python 使用字符串

    字符串方法 string.digits:包含数字0-9的字符串 string.letters:包含所有字母(大写或小写)的字符串 string.lowercase:包含所有小写字母的字符串 strin ...

  6. day34 反射、面向对象内置方法:如__str__、面向对象的软件开发

    Python之路,Day21 = 反射.面向对象内置方法:如__str__.面向对象的软件开发 几个内置查看的方法使用 .__base__ 查看类的继承结构.mro() 对象找属性的顺序存在里面 -- ...

  7. thinkphp switch标签

    用法: <switch name="变量" > <case value="值1" break="0或1">输出内容1 ...

  8. VS2010-MFC(字体和文本输出:文本输出)

    转自:http://www.jizhuomi.com/software/241.html 上一节讲了CFont字体类,本节主要讲解文本输出的方法和实例. 文本输出过程 在文本输出到设备以前,我们需要确 ...

  9. System.Web.Mvc.HttpPatchAttribute.cs

    ylbtech-System.Web.Mvc.HttpPatchAttribute.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, ...

  10. dart 异步

    使用异步有两种方法 then 或者 async/await. async/await 方法更易于理解,