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 ...
随机推荐
- 【BZOJ1116】[POI2008]CLO 并查集
[BZOJ1116][POI2008]CLO Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. ...
- tomcat https 证书生成与配置
第一步:生成证书 命令行输入: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore &quo ...
- ThreadLocal分析总结:
1.ThreadLocal 是什么 它是一个数据结构,像 HashMap,可保存 "key : value" 键值对:ThreadLocal 有一个内部类ThreadLocalMa ...
- python--get_data_from_csv_or_txt
一.从csv文件中获取 import osimport csv class GetDataFromCsvFile(): def __init__(self, csv_file, params_list ...
- c# window窗口
代码功能 一.隐藏当前窗口 this.Hide();//隐藏当前窗口 二.调用计算机自带 System.Diagnostics.Process.Start("calc.exe"); ...
- netty 网关 http请求 请求转发
https://netty.io/4.1/xref/io/netty/example/proxy/package-summary.html https://netty.io/4.1/xref/io/n ...
- linux查看硬件信息的方法
目前会Linux的人不少,但是精通的不多,怎样才能做一个符合企业需求的Linux人才,首先要有良好的Linux基础知识.本文为你讲解Linux的知识,今天所讲的是 Linux硬件信息怎样查看,希望你能 ...
- 图解HTTP之HTTPS详解
背景:随着越来越多的主流网站已经使用了HTTPS,作为服务器端开发者,就必须了解HTTPS的优势与劣势. 在HTTP协议中有可能存在信息窃听或身份伪装等问题,而使用HTTPS通信机制可以有效地防止这些 ...
- MySQL 一些让人容易忽视的知识点
一下都是MySQL在实际开发中,经常容易让人忽视的点,希望对您有帮助,帮您越过这些坑. 一:MySQL AND优先级大于OR 今天上班时在写一个业务的时候又发现了一个MySQL的问题: 我们的业务是这 ...
- 你知道军装照H5浏览了多少次吗? 10亿
7月29日,由人民日报客户端推出的<快看呐!这是我的军装照>(以下简称<军装照>)H5页面,由它所引发的全民晒“军装照”现象级事件,据统计,截至8月18日,<军装照> ...