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的更多相关文章
随机推荐
- Navicat Premium_11.2.7 安装及破解,连接Oracle数据库
下载Navicat Premium_11.2.7简体中文版, 安装 Navicat 11 for Windows 系列原版程序.Navicat | 下载 Navicat 14 天 Windows.Ma ...
- @Value的使用
<Spring源码解析>笔记 使用@Value赋值:1.基本数值2.可以写SpEL: #{}3.可以写${}:取出配置文件[properties]中的值(在运行环境变量里面的值) 1.创建 ...
- Java Collection - ArrayList & LinkedList
总结 ref: https://blog.csdn.net/qq_32679815/article/details/78907437 1-ArrayList是实现了基于动态数组的数据结构,Linked ...
- Vue+Iview+Node 登录demo
1.相关组件安装 axios iview js-cookie crypto-js 2.子父组件传值.监听窗体大小改变.记住密码 .自定义组件(事件 .props) created:实例已经创建完 ...
- 暑假集训test-8-26
真 noip模拟题 但是被我做得稀巴烂 新高二除了林巨做得勉强能看,其他人都做得稀巴烂 老张都要绝望了 t1.水呀水 题如其名是道水题.新建个点代表水源,跑最小生成树即可. //Achen #incl ...
- HTML引入CSS的方法
1.嵌入式 通过<style>标记,来引入CSS样式. 语法格式:<style type = “text/css”></style> 提示:<style> ...
- Eclips安装STS(Spring Tool Suite (STS) for Eclipse)插件
Spring Tool Suite(sts)就是一个基于Eclipse的开发环境, 用于开发Spring应用程序.它提供了一个现成的使用环境来实现, 调试, 运行, 和部署你的Spring应用程序.包 ...
- idea激活破解
下载链接:https://pan.baidu.com/s/1BADk1MCm0YxtB6zoX0DivA 提取码 ze9m将破解补丁放到bin文件中jetbrains-all.jar 在这俩个文件最后 ...
- 2019 Multi-University Training Contest 7 Kejin Player Final Exam
Kejin Player 期望DP 题意: 初始等级为1,每一级有四个参数 r , s , x , a . 每一级有一个概率p=r/s花费a的代价升级到下一级,失败可能会倒退到x级 设从 l 到 r ...
- ON_WM_TIMER() void (__cdecl xx::* )(UINT)”转换为“void (__cdecl CWnd::* )(UINT_PTR)
ON_WM_TIMER()在编译器从32位转换为64位的时候, 出现的问题; class CFlatComboBox : public CComboBox (基类为CWnd) 为了重载CWnd的 ...