<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. more指令和less指令使用的区别

    more和less都是可以一页一页的翻动 more翻页的时候,显示有百分比在最下一行 less没有 more可以用来查询 空白键 (space):代表向下翻一页:Enter :代表向下翻『一行』:/字 ...

  2. Android开发 retrofit入门讲解 (RxJava模式)

    前言 retrofit除了正常使用以外,还支持RxJava的模式来使用,此篇博客讲解如何使用RxJava模式下的retrofit 依赖 implementation 'com.squareup.ret ...

  3. thinkphp rabc权限总结

    今天晚上把ThinkPHP的权限分配弄明白了,心里的包袱立刻放下了,感觉那个爽啊!稍微记录一下. 背景:CMS系统开发(17do). 项目分组:Admin(后台管理).Home(前台显示). Admi ...

  4. thinkphp 模型定义

    模型定义 模型类并非必须定义,只有当存在独立的业务逻辑或者属性的时候才需要定义. 模型类通常需要继承系统的\Think\Model类或其子类,下面是一个Home\Model\UserModel类的定义 ...

  5. 0926CSP-S模拟测试赛后总结

    又一次垫底.持续低迷.20分. 赛时状态还可以.但是过于保守而不思进取.三道题目打了暴力就滚粗了. 暴力还挂掉了. T1暴力因为开小了数组挂成了0.1000的点,子序列个数我开了1e5以为足够了.结果 ...

  6. 线性dp——cf1096D

    dp[i][j]表示到第i位,与hard的匹配状态到达了第j位 每位有两种决策:消或者不消 分别转移一下即可 转移代码 ;i<n;++i) ;j<=;++j) { cmin(f[i+][j ...

  7. Android NDK应用原理

    转:http://shihongzhi.com/ndk/ 那么首先看一下Android的系统框架: 最底层是Linux Kernel,然后上面是封装的库及Android runtime.再上面是App ...

  8. VS2010-MFC(常用控件:树形控件Tree Control 上)

    转自:http://www.jizhuomi.com/software/200.html 前面两节讲了列表视图控件List Control,这一节开始介绍一种特殊的列表--树形控件Tree Contr ...

  9. /encrypt和/decrypt端点来进行加密和解密的功能

  10. HTTP协议基础篇(帮助理解)

    用uml 来描述一个功能是怎样按照时间的顺序完成的 实际的需求(配置网站/配置虚拟主机) 步骤 (1) 打开 apache/conf/httpd.conf 文件 (2)找到hosts文件 c:/win ...