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的更多相关文章
随机推荐
- 2018-8-10-VisualStduio-打断点调试和不打断点调试有什么区别
title author date CreateTime categories VisualStduio 打断点调试和不打断点调试有什么区别 lindexi 2018-08-10 19:16:52 + ...
- Asp.net MVC使用EasyNetQ操作RabbitMQ
Demo下载地址:https://download.csdn.net/download/u010312811/11259742 .Net下操作RabbitMQ最常用的SDK是RabbitMQ.Clie ...
- scala中Array简单实用
/** * 在scala中数组的使用 * 和java很类似,初始化后,长度就固定了,而且元素全部根据其类型初始化 * */ object arrayUse { def main(args: Array ...
- js对象 事件
对象 创建 var myObject = {};/* 声明对象字面变量*/ 添加值myObject.name="Jener";myObject.age=25; 代码格式 ...
- PHP curl采集
if (function_exists('curl_init')) { //检查函数是否存在 $url = "http://***.com/"; $ch = curl_init() ...
- python3正则表达式指南
1.正则表达式基础 1.1 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强 ...
- day31 类的组合及继承,文件目录规范
Python之路,Day18 = Python基础18-面向对象继承与组合 类的继承 def talk(): print("I am come from talk..a") cla ...
- System.Drawing.Imaging.ImageFormat.cs
ylbtech-System.Drawing.Imaging.ImageFormat.cs 1.程序集 System.Drawing, Version=4.0.0.0, Culture=neutral ...
- substring常用的两种方法
1.public String substring(int beginIndex, int endIndex) 第一个参数int为开始的索引,对应String数字中的开始位置, 第二个参数是截止的索引 ...
- java关于lombok(包括父类参数)
java关于lombok对bean对象进行自动设置 使用说明 使用方式 注释类型 @NonNull @Data(常用) @NoArgsConstructor(常用)/@RequiredArgsCons ...