对于@后面变量加上括号解决异意的方法

例如: 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 中的家常事的更多相关文章

  1. .NetCore MVC中的路由(2)在路由中使用约束

    p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 ...

  2. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  3. Asp.Net MVC中使用StreamReader读取“Post body”之应用场景。

    场景:有三个市场(Global.China.USA),对前台传过来的数据有些验证需要细化到每个市场去完成. 所以就出现了基类(Global)和派生类(China.USA) 定义基类(Global)Pe ...

  4. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  5. ASP.NET Core MVC 中的 [Controller] 和 [NonController]

    前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...

  6. ASP.NET MVC中利用AuthorizeAttribute实现访问身份是否合法以及Cookie过期问题的处理

    话说来到上海已经快半年了,时光如白驹过隙,稍微不注意,时间就溜走了,倒是没有那么忙碌,闲暇之际来博客园还是比较多的,记得上次在逛博问的时候看到有同志在问MVC中Cookie过期后如何作相关处理,他在阐 ...

  7. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

  8. 5.在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  9. 2.ASP.NET MVC 中使用Crystal Report水晶报表

    上一篇,介绍了怎么导出Excel文件,这篇文章介绍在ASP.NET MVC中使用水晶报表. 项目源码下载:https://github.com/caofangsheng93/CrystalReport ...

随机推荐

  1. ndarray 布尔类型矩阵中统计Ture 的次数

    对象:NumPy数组或矩阵,eg. data的元素为True和False numpy.sum(data) #统计data中True的个数numpy.count_nonzero(data) #统计dat ...

  2. jenkins配置邮件报警

    author:headsen chen date: 2018-05-15  13:49:21 在jerkins的主配置页面上: 注意:不用 安装什么报警邮件的插件.直接配置就可以了. 系统管理 --- ...

  3. 百度jQuery库

    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.js"></script>

  4. Intellij idea中maven加载jar包很慢的解决方案.

    默认加载的都是国外的源,我们可以配置国内的源. 右键项目-->maven-->Open ''setting.xml'' 复制下面的代码进去.保存. 我这里使用的版本是 ideaIU-14. ...

  5. python基础-第三篇-函数编程

    基本数据类型之set set是无序不允许重复的集合 set创建:s = set() 创建空集合  s = {11,22,33} 转换s = set(可迭代数据) li = [11,22,33,44] ...

  6. Visual Studio 2017 新特性

    1. out-variables(Out变量) 以前,我们使用out变量的时候,需要在外部先申明,然后才能传入方法,类似如下: string ddd = ""; //先申明变量 c ...

  7. Python并行编程(四):线程同步之RLock

    1.基本概念 如果想让只有拿到锁的线程才能释放该锁,那么应该使用RLock()对象.当需要在类外面保证线程安全,又要在类内使用同样方法的时候RLock()就很使用. RLock叫做Reentrant ...

  8. idea中导入本地jar包

    idea中有时需要从本地导入jar包. 1:file>projectstructure 或者右键项目 open module setting, 选择librarys,然后点击+号,选择要导入的语 ...

  9. nodejs跨平台应用

    nodejs官网https://nodejs.org/download/release/ 一.发行版 1)ubuntu sudo apt-get install nodejssudo apt-get ...

  10. linux内核源代码、配置与编译

    内核源代码下载:www.kernel.org Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具可读性. linux内核代码最好不要在windows ...