MVC 中的家常事
对于@后面变量加上括号解决异意的方法
例如: hello@User.Name 会误判为电子邮箱,解决办法是括号,即hello@(User.Name)
使用@Html.Raw()输出后台到.cshtml的前端代码
如后台 ViewBag.abc="<a href=\"#\">123</a>";
.cshtml @Html.Raw(ViewBag.abc);
Head中的可变模板<head>@RenderSection(“onehead”,false) </head> 在继承该模板的页面使用时:@section onehead{}
一些基本的东西还是整一下吧,不然老百度也不是事,好记性不如烂笔头,写一写吧
@Html.ActionLink()的两种重载,会用了其他 的就不用说了
@Html.ActionLink("删除链接", "MyHome", "Home", new {},new { id="myid", @class="myclass", onclick="return confirm(\"你确定要删除吗?\")"})
// 生成结果如下,如果参可传也应像上面一样传第一个New
<a class="myclass" id="myid" onclick="return confirm("你确定要删除吗?")" href="/Home/MyHome">删除链接</a>
// 下面这个New是传的参数,第二个New传的是HTML属性
@Html.ActionLink("删除链接", "MyHome", "Home", new {id="123",name="张三"},new { id="myid", @class="myclass", onclick="return confirm(\"你确定要删除吗?\")"})
//结果下面,上面的第一个New是传的参数,第二个New传的是HTML属性
<a class="myclass" id="myid" onclick="return confirm("你确定要删除吗?")" href="/Home/MyHome/123?name=%E5%BC%A0%E4%B8%89">删除链接</a>
@Html.ActionLink("删除链接", "MyHome", "Home")
@Html.BeginForm()
// 指定Form表单提交方式和路径等
@using (Html.BeginForm("MyForm", "FormController", FormMethod.Post))
{
}
<form action="/FormController/MyForm" method="post"/> // 结果
// 下面是带 HTML标签id和class属性的
@using (Html.BeginForm("MyForm", "FormController", FormMethod.Post, new { id="123",@class="myclass"}))
{
}
<form class="myclass" id="123" action="/FormController/MyForm" method="post"/> // 结果
//下面是带参数的见下面的new
@using (Html.BeginForm("Myform", "FormController", new { Myid = "123", name = "张三" }, FormMethod.Post))
{
}
<form action="/FormController/Myform?Myid=123&name=%E5%BC%A0%E4%B8%89" method="post"/> // 结果
// 下面是带参数和HTML属性的,第一个New传的是参数,第二个new 传的HTML是属性
@using (Html.BeginForm("MyForm", "FormController", new { myid = "123", name = "张三" }, FormMethod.Post, new { id = "myform", @class = "myclass" }))
{
}
<form class="myclass" id="myform" action="/FormController/MyForm?myid=123&name=%E5%BC%A0%E4%B8%89" method="post"/> // 结果
@Html.TextBox()和@Html.TextBoxFor()
@Html.TextBox("myText")
<input id="myText" name="myText" type="text" value="" /> // 结果
@Html.TextBox("mytxt", Model.Name, new { @style = "color:Red;" })
<input id="mytxt" name="mytxt" type="text" style=" color:Red" value="Model.Name的值" /> // 结果
@Html.TextBoxFor(m => m.Name, new { @style=" color: Red;"})
<input id="name" type="text" name="name" style="color: Red;" /> // 结果
如果与后台相关 可在后台实体中[Display(Name="用户名:")] ,那个 @Html.LableFor(m=>m.UserName) 则显示为用户名 ,代码如下:
namespace MvcApplication1.Models
{
public class User
{
public int Id { get; set; } public string UserName { get; set; } [Display(Name="用户真实姓名")]
public string Name { get; set; }
}
}
在前台View中的代码
@{
ViewBag.Title = "MyHome";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@model MvcApplication1.Models.User
@Html.LabelFor(m=>m.Name)
@Html.TextBoxFor(m=>m.Name)
显示结果

注意上面 @Html.LabelFor的翻译
@Html.CheckBox()
@Html.CheckBox("chk",true)
@Html.CheckBoxFor(m=>m.IsVaild,new {@class="myclass"})
@Html.DropDownList("ddl1",(SelectList)ViewData["TName"],"--XXx--")
public ActionResult Index()
{
List<User> list = new List<User>(){
new User{Id=,UserName="admin",Name="张三"},
new User{Id=,UserName="pm",Name="张三"},
new User{Id=,UserName="one",Name="张三"},
};
ViewData["listUser"] = new SelectList(list, "Id", "UserName");
return View();
} @Html.DropDownList("ddlUserName", ViewData["listUser"] as SelectList,"---请选择-")
强类型的如下
public ActionResult Index()
{
List<User> list = new List<User>(){
new User{Id=,UserName="admin",Name="张三"},
new User{Id=,UserName="pm",Name="张三"},
new User{Id=,UserName="one",Name="张三"},
};
ViewData["listUser"] = new SelectList(list, "Id", "UserName");
User u = new User();
u.UserName = "admin";
return View(u);
} @Html.DropDownListFor(m => m.Id, ViewData["listUser"] as SelectList, "请选择", new { @class="myclass"})
强类型选中如下: 选中u.id=2的
public ActionResult Index()
{
List<User> list = new List<User>(){
new User{Id=,UserName="admin",Name="张三"},
new User{Id=,UserName="pm",Name="张三"},
new User{Id=,UserName="one",Name="张三"},
};
User u = new User();
u.Id = ;
ViewData["listUser"] = new SelectList(list, "Id", "UserName",u.Id);
u.UserName = "pm";
return View(u);
} @Html.DropDownListFor(m => m.Id, ViewData["listUser"] as SelectList, new { @class="myclass"}) //
数据字典类型转换
public ActionResult MyHome()
{
Dictionary<int, string> myd = new Dictionary<int, string>();
myd.Add(, "admin");
myd.Add(,"pm");
myd.Add(, "one");
ViewData["ddl"] = new SelectList(myd, "Key", "Value");
return View();
} @Html.DropDownList("ddl",(SelectList)ViewData["ddl"],"---selectedone-")
@Html.RadioButton()
一组单选筐须id和name相同,代码如下
@Html.RadioButton("rdSix","男",true)
@Html.RadioButton("rdSix","女")
@{
if(ViewBag.IsError!=null && ViewBag.IsError )
{
<script> alert("@ViewBag.Message") </script> // 注意alert里面的“”很重要!
}
}
MVC 中的家常事的更多相关文章
- .NetCore MVC中的路由(2)在路由中使用约束
p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- Asp.Net MVC中使用StreamReader读取“Post body”之应用场景。
场景:有三个市场(Global.China.USA),对前台传过来的数据有些验证需要细化到每个市场去完成. 所以就出现了基类(Global)和派生类(China.USA) 定义基类(Global)Pe ...
- 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- ASP.NET Core MVC 中的 [Controller] 和 [NonController]
前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...
- ASP.NET MVC中利用AuthorizeAttribute实现访问身份是否合法以及Cookie过期问题的处理
话说来到上海已经快半年了,时光如白驹过隙,稍微不注意,时间就溜走了,倒是没有那么忙碌,闲暇之际来博客园还是比较多的,记得上次在逛博问的时候看到有同志在问MVC中Cookie过期后如何作相关处理,他在阐 ...
- 4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
- 5.在MVC中使用泛型仓储模式和工作单元来进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- 2.ASP.NET MVC 中使用Crystal Report水晶报表
上一篇,介绍了怎么导出Excel文件,这篇文章介绍在ASP.NET MVC中使用水晶报表. 项目源码下载:https://github.com/caofangsheng93/CrystalReport ...
随机推荐
- 170329、用 Maven 部署 war 包到远程 Tomcat 服务器
过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...
- plsql连接其他服务器的oracle
plsql除了连接本地的oracle还需要连接其他服务器上的oracle时 1.下载安装oracleClient:2.在oracleClient安装目录下:例如:D:/instantclient_11 ...
- greenplum-cc-web4.0监控安装
简介: 本文是基于greenplum5.7,greenplum-cc-web4.0安装的. 一.安装greenplum监控的数据库以及创建用户(在gpadmin用户下安装) 1.开启greenplum ...
- 新团建立时间 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
w 不根据当前时间戳更新. `wtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
- CentOS下调整home和根分区大小的方法
解决外挂硬盘的问题. 目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况[root@jb51.net~]# df -h ...
- MYSQL--表分区、查看分区(转)
一. mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间, ...
- DjangoORM 执行 python manage.py makemigrations出现 no changes detected
出现 no changes detected python manage.py makemigrations No changes detected 为什么出现这种情况: 当执行这条命令,他会去找所有 ...
- python web框架 MVC MTV
WEB框架 MVC Model View Controller 数据库 模板文件 业务处理 MTV Model Template View 数据库 模板文件 业务处理
- SyntaxError: Missing parentheses in call to 'print'. Did you mean print('XXXXXX')?
因为Python3中取消了以前Python 2中的语法. 所以Python 3再使用python2的语法格式就会报错 错误信息中提示需要加上括号,字符串可以用单引号或双引号括起来 这样就不会报错了.
- Java集合—Set(转载)
Set集合中包含了三个比较重要的实现类:HashSet.TreeSet和EnumSet.本篇文章将重点介绍这三个类. 一.HashSet类 HashSet简介 HashSet是Set接口的典型实现,实 ...