一、隐式从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的更多相关文章

  1. Asp.net MVC 简单分页 自做简单分页

    Asp.net MVC 简单分页:   public static string Pager(int page,int pageSize,int total)         {           ...

随机推荐

  1. Random类和Math.random()方法

    一.Random类的定义Random类位于 java.util 包中,主要用于生成伪 随机数Random类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关创建Rand ...

  2. Virtualenv开发文档

    virtualenv是创建孤立的Python环境的工具.正在解决的基本问题是依赖和版本之一以及间接权限.想象一下,您有一个需要LibFoo版本1的应用程序,但另一个应用程序需要版本2.如何使用这两个应 ...

  3. Algo: Majority Element

    Approach #1 Brute Force Intuition    We can exhaust the search space in quadratic time by checking w ...

  4. Win10下使用默认的照片查看器

    在打开图片的时候默认是 画图,我们想要用windows图片器打开,但是更多应用里面没有这一选项, 按 Windows徽标键+R键,打开运行命令窗口,输入"regedit"命令 来打 ...

  5. Matplotlib---柱状图、直方图(高斯分布)

    # _*_ coding: gbk _*_ # @Author: Wonde # bar 直方图 import matplotlib.pyplot as plt # 绘图 from matplotli ...

  6. Git连接远程服务器

    连接方式: ssh -p 22 root@ip地扯 然后会提示你输入密码. 输入正确的密码后显示界面如下:

  7. Gamma(1)

    目前为止看到的解释Gamma来由说得最清楚的一篇文章:https://www.cambridgeincolour.com/tutorials/gamma-correction.htm 几点总结. 1, ...

  8. [JZOJ6257] 【省选模拟8.9】修路

    题目 题目大意 有一堆点,每个点都有其权值\(c_i\). 每次插入边\((u,v)\),\(u\)和\(1\)连通,\(v\)和\(1\)不连通.最后保证形成一棵树. 每次插入的时候询问\(1\)到 ...

  9. csps模拟9495凉宫春日的忧郁,漫无止境的八月,简单计算,格式化,真相题解

    题面:https://www.cnblogs.com/Juve/articles/11767239.html 94,95的T3都没改出来,是我太菜了... 凉宫春日的忧郁: 比较$x^y$和$y!$的 ...

  10. 0925CSP-S模拟测试赛后总结

    献上了自己的第二次爆零. 最近考试持续低迷.受同桌影响是一方面,自己的状态不行也是一方面,根本还是实力不行. 昨天T1是签到题.然而并没有发现这个事实.并不会打…… 无意围观同桌秒切T1,秒过样例,长 ...