HtmlHelper2
一、隐式从ViewBag取数据
1、action中的代码:
ViewBag.UserName = "admin";
cshtml中的代码:
@Html.TextBox("UserName")
这样就会在@Html.TextBox("UserName")所在的位置显示admin了
2、action中的代码:
Book[] books = new Book[]
{
new Book{Id=,Name="如鹏网"},
new Book{Id=,Name="腾讯"},
new Book{Id=,Name="天猫"}
} SelectList slBooks = new SelectList(books,"Id","Name",);
ViewBag.books = slBooks;
cshtml中的代码:
@Html.DropDownList("books")
这样就会在@Html.DropDownList("books")的位置替换显示为下拉列表了。
二、强类型视图绑定
Action:
public ActionResult Index()
{
return View();
}
Model:
public class UserModel
{
public int Id { get; set; }
public string Name { get; set; }
}
cshtml:
@model 强类型视图绑定.Models.UserModel
@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@Html.Label("Id"):@Html.TextBoxFor(m => m.Id)<br />
@Html.Label("Name"):@Html.TextBoxFor(m => m.Name)<br />
</div>
</body>
</html>
三、数据客户端验证
建一个MVC模板的MVC项目。
Model
public class UserModel
{
[DisplayName("用户名")]
[Required]
[StringLength()]
public string UserName { get; set; } [DisplayName("密码")]
[Required]
[StringLength()]
public string Password { get; set; }
}
Controller
public ActionResult Login(UserModel model)
{
if (!ModelState.IsValid)
{
return View(nameof(Index));//转到Index.cshtml页面
}
return Content(model.UserName);
}
cshtml:
@model 客户端数据验证.Models.UserModel
@{
ViewBag.Title = "Home Page";
} @using (Html.BeginForm("Login", "Home"))
{
@Html.LabelFor(m => m.UserName, "用户名") @Html.TextBoxFor(m => m.UserName) @Html.ValidationMessageFor(m => m.UserName)<br />
@Html.LabelFor(m => m.Password, "密码") @Html.TextBoxFor(m => m.Password) @Html.ValidationMessageFor(m => m.Password)<br />
<input type="submit" value="提交" />
}
然后在Layout.cshtml中的head头部引入
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
完成以上步骤后,客户端提交表单之前就可以验证了。
HtmlHelper2的更多相关文章
- Asp.net MVC 简单分页 自做简单分页
Asp.net MVC 简单分页: public static string Pager(int page,int pageSize,int total) { ...
随机推荐
- shell 命令 用户管理
1. 查看保存用户相关信息的文件 [ cat /etc/passwd ] [linux : x : 1000 : 1000 : linux,,, : ...
- MySQL安装pdf介绍
pdf地址:https://files.cnblogs.com/files/pygo/mysql%E5%AE%89%E8%A3%85.pdf
- Windows color
设置默认的控制台前景和背景颜色. COLOR [attr] attr 指定控制台输出的颜色属性. 颜色属性由两个十六进制数字指定 -- 第一个对应于背景,第二个对应于前景.每个数字可以为 ...
- CSS——滑动门技术及应用
先来体会下现实中的滑动门,或者你可以叫做推拉门: 滑动门出现的背景 制作网页时,为了美观,常常需要为网页元素设置特殊形状的背景,比如微信导航栏,有凸起和凹下去的感觉,最大的问题是里面的字数不一样多,咋 ...
- teb_local_planner安装及使用
teb_local_planner的详尽资料(包括安装及导航,参数调节等)请参考其ros官方文档:http://wiki.ros.org/teb_local_planner和http://wiki.r ...
- HDU 6064 RXD and numbers
传送门 有向图生成树计数 (度数 ->入度->外向树) BEST定理 (不定起点的欧拉回路个数=某点为根的外向树个数(存在欧拉回路->每个点为根的外向树个数相等)*(每个点的度数(存 ...
- iOS ARC下命名规则
当我在ARC模式下写以下代码的时候,编译器报错 Semantic Issue: Property's synthesized getter follows Cocoa naming conventio ...
- Android Scroller简单用法 --View滚动
转:http://ipjmc.iteye.com/blog/1615828 Android里Scroller类是为了实现View平滑滚动的一个Helper类.通常在自定义的View时使用,在View中 ...
- YARN 原理简介
YARN 组件 参考:Spark on Yarn | Spark,从入门到精通 YARN 采用 Master/Slave结构 ,包含ResourceManager 和 NodeManager Reso ...
- Hive学习笔记简版
一.概述 1. Hive是Apache提供的基于Hadoop的数据仓库管理工具2. Hive提供了类SQL语言来操作Hadoop,底层会将SQL转化为MapReduce来执行,所以效率会比较低3. H ...