MVC 【Razor 视图引擎】基础操作 --页面跳转,传值,表单提交
ASPX 与 Razor 仅仅是视图不一样。
新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空)、视图引擎(Razor )
1、视图中 c# 代码 与 HTML 的转换
@ using 命名空间 引用命名空间形式
----------------------------------------------------------------
@{
一堆 c# 代码 ,能自动识别c# 与HTML
}
-----------------------------------------------------------------
@(一句c# 代码)
--有时 直接 一个 @ 不用括号也可
-----------------------------------------------------------------
@: 将冒号后面转换成文本或HTML
-----------------------------------------------------------------
2、页面跳转
<a href =" / Home/ Idsert "> </a>
--以 “/” 开头表示从根目录下找
--------------------------------------------------------------------------------
@Html.ActionLink("添加hehe", "Insert", "Home")
(“显示的文本”,“动作名”,“控制器名”)
@Html.ActionLink("修改", "Update/" + u.Ids, "Home")
-- 传值跳转 传u.Ids
---------------------------------------------------------------------------------
<input type="button" value="添加新用户" id="btn1" />
<script type="text/javascript">
document.getElementById("btn1").onclick = function () {
window.location.href = " @Url.Action("Insert", "Home") ";
}
</script>
-- 普通按钮提交跳转
-- href 后面跟字符串
---------------------------------------------------------------------------------
3、传值
只能由控制器的动作传到本动作的视图
ViewBag 传值
ViewBag.变量=值
传: ViewBag.a= u ;
收: <% Users u = ViewBag.a %>
ViewData 传值
传: ViewData [ " a "] = u ;
收: Users uu = ViewData [ " a "] as Users
----------------------------------------------------------------------------------------------------
全局变量传值 ,能夸控制器传值
Session 传值
传: session [ " a " ]= s ;
收: string s = session[ " a " ].Tostring( )
Cookies 传值
传: Response.Cookies["aa"].Value = s;
收:string ss = Request.Cookies["aa"].Value;
TempData 传值
传: TempData["a"] =" 用户名密码错误" ;
收: string s = TempData["a"] ;
-- 使用一次自动清空
----------------------------------------------------------------------------------------------------
强类型
return View(u);
-- 直接由视图传递值,
-- 一个视图页面中只能有一个强类型数据对象;
传:
public ActionResult Update(string id)
{
Users u = new UsersData().SelectUser(id);
if (u != null)
{
return View(u);
}
else
{
return RedirectToAction("index", "Home");
}
}
收:
@model Users
-- 声明传进来的强类型的数据类型
-- 放在上方,model 都小写,后面没有分号;
@Model.NickName
-- 取值时 Model M用大写
--------------------------------------------------------------------------------------------
4、表单
(1)普通按钮,非标单按钮提交
<div>
<h1>添加新用户</h1> @{ using (Html.BeginForm("Insert1", "Home", "post")) { @:用户名:<input type="text" name="username" /><br />
@:密码:<input type="text" name="password" /><br />
@:昵称:<input type="text" name="nickname" /><br />
@:性别:
<input type="radio" value="True" id="r1" name="sex" checked="checked" /><label for="r1">男</label>
<input type="radio" value="False" id="r2" name="sex" /><label for="r2">女</label>
<br />
@:生日:<input type="text" name="birthday" /><br />
@:民族:
<select name="nation">
@{
List<UserNation> unlist = new UserNationData().SelectAll(); foreach (UserNation un in unlist)
{
<option value="@un.NationCode">@un.NationName</option>
} }
</select>
<br /> <div id="div1" style="width: 100px; height: 100px; background-color: red;">保存</div> <input type="button" value="保存" id="btn1" /> }
} </div> <script type="text/javascript"> document.getElementById("div1").onclick = function () {
this.parentNode.submit();
//点击div时 提交 }
document.getElementById("btn1").onclick = function () {
this.form.submit(); } //普通按钮提交 </script>
(2)多表单提交
@{using (Html.BeginForm("JiaFa", "Home", "post"))
{
string s=""; <input type="text" name="t1" />
<input type="text" name="t2" /> if(TempData["jg"]!= null )
{
s=TempData["jg"].ToString();
} <input type="text" name="t3" value ="@s" /> <input type="submit" value="加法" />
<input type="submit" id="btn2" value="减法" /> }
}
--------------------------------表单部分 <script type ="text/javascript" >
document.getElementById("btn2").onclick = function () { this.form.action = "@Url.Action("JianFa","Home") "; }; </script>
--------------------------------js 部分 public ActionResult JiaFa(string t1, string t2)
{
TempData["jg"] = Convert.ToInt32(t1) + Convert.ToInt32(t2);
return RedirectToAction("Test1", "Home");
} public ActionResult JianFa(string t1, string t2)
{
TempData["jg"] = Convert.ToInt32(t1) - Convert.ToInt32(t2);
return RedirectToAction("Test1", "Home");
}
------------------------------------------控制器部分
--此例中,表单默认提交到 JiaFa 动作中
点击 “减法” 按钮时,通过 js 改变表单提交的动作
MVC 【Razor 视图引擎】基础操作 --页面跳转,传值,表单提交的更多相关文章
- Razor视图引擎基础语法
在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化 1.ASP.NET MVC3必要的运行环境为.NET 4.0 (想在3.5用MVC3,没门!) 2.默认MVC3模板项目 ...
- ASP.NET MVC3 Razor视图引擎-基础语法
I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化. 1.ASP.NET MVC3必要的运行环境 ...
- (转)ASP.NET MVC3 Razor视图引擎-基础语法
转自:http://kb.cnblogs.com/page/96883/ I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往 ...
- ASP.NET MVC3 系列教程 - Razor视图引擎基础语法
http://www.cnblogs.com/highend/archive/2011/04/09/aspnet_mvc3_razor_engine.html 4. 关于所有带"_" ...
- ASP.NET MVC——Razor视图引擎
Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...
- ASP.NET MVC Razor视图引擎攻略
--引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页
https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...
- MVC Razor视图引擎
Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动 ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2
https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...
随机推荐
- 使用jquery load遇到一个问题解决
1.环境 动态加载页面后给页面中的控件动态赋值,赋完更新后一闪值就没了. 2.原因 load()方法是异步加载,页面没有加载完就开始赋值,导致情况出现. 3.解决 加载完成后赋值 $(&qu ...
- leetcode记录
2019 1月31: 141交叉链表, 2月: 2/1: 160环形链表 , 思路记得,但是指针里面逻辑搞错,这里不是用快慢指针而是同时的指针.:复习了141题还是有问题,把 ...
- ssh 绕过The authenticity of host '*.*.*.*' can't be established 直接输入密码
只需要使用命令 ssh webgate@10.129.6.237 -o "StrictHostKeyChecking no" 即可以绕过 insp_ap@inspect02:/ho ...
- POJ - 1321 棋盘问题 简单搜索 dfs 格子
点这里去看题 思路:本题的难点在k<n的情况,所以我们可以另dfs中的两个参数分别代表起始行和待放棋子个数(待放棋子只能放在起始行后面的行),然后用一个c[8]来表示每一列放旗子的情况来判断列不 ...
- NET Core微服务之路:实战SkyWalking+Exceptionless体验生产环境下的追踪系统
前言 当一个APM或一个日志中心实际部署在生产环境中时,是有点力不从心的. 比如如下场景分析的问题: 从APM上说,知道某个节点出现异常,或延迟过过高,却不能及时知道日志反馈情况,总不可能去相应的节点 ...
- ZKWeb网页框架1.8正式发布
1.8.0更新的内容有 破坏性更新 更新ZKWeb.System.Drawing到3.0.0 请修改源代码中的System.Drawing到System.DrawingCore 现在已经不再需要使用D ...
- maven理论基础
Maven介绍 Maven是一个Java项目管理和构建工具 Maven使用pom.xml定义项目内容,并使用预设的目录结构 在Maven中声明一个依赖项可以自动下载并导入classpath Maven ...
- 第八节:详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架
前言 大家好,给大家带来详细讲解Java中的异常处理情况与I/O流的介绍以及类集合框架的概述,希望你们喜欢 JAVA 异常 try...catch...finally结构的使用方法 class Tes ...
- struts2框架学习笔记1:搭建测试
Servlet是线程不安全的,Struts1是基于Servlet的框架 而Struts2是基于Filter的框架,解决了线程安全问题 因此Struts1和Struts2基本没有关系,只是创造者取名问题 ...
- [CocoaPods]使用CocoaPods进行测试
测试规格 从CocoaPods 1.3.0开始,pod现在可以提供测试规范(或简称测试规范).测试规范可用于描述给定pod的测试源. 这是一个示例CoconutLib.podspec,一个定义测试规范 ...