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 视图引擎】基础操作 --页面跳转,传值,表单提交的更多相关文章

  1. Razor视图引擎基础语法

    在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化 1.ASP.NET MVC3必要的运行环境为.NET 4.0 (想在3.5用MVC3,没门!) 2.默认MVC3模板项目 ...

  2. ASP.NET MVC3 Razor视图引擎-基础语法

    I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化. 1.ASP.NET MVC3必要的运行环境 ...

  3. (转)ASP.NET MVC3 Razor视图引擎-基础语法

    转自:http://kb.cnblogs.com/page/96883/ I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往 ...

  4. ASP.NET MVC3 系列教程 - Razor视图引擎基础语法

    http://www.cnblogs.com/highend/archive/2011/04/09/aspnet_mvc3_razor_engine.html 4. 关于所有带"_" ...

  5. ASP.NET MVC——Razor视图引擎

    Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...

  6. ASP.NET MVC Razor视图引擎攻略

    --引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...

  7. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页

    https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...

  8. MVC Razor视图引擎

    Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动 ...

  9. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2

    https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...

随机推荐

  1. 2019.02.19 bzoj2655: calc(生成函数+拉格朗日插值)

    传送门 题意简述:问有多少数列满足如下条件: 所有数在[1,A][1,A][1,A]之间. 没有相同的数 数列长度为nnn 一个数列的贡献是所有数之积,问所有满足条件的数列的贡献之和. A≤1e9,n ...

  2. servlet跨域

    后台代码 package edu.nf.ch01.server; import javax.servlet.ServletException; import javax.servlet.annotat ...

  3. ABP框架系列之十四:(Background-Jobs-And-Workers-背景工作和工人)

    Introduction ASP.NET Boilerplate provides background jobs and workers those are used to execute some ...

  4. 走进JDK(二)------String

    本文基于java8. 基本概念: Jvm 内存中 String 的表示是采用 unicode 编码 UTF-8 是 Unicode 的实现方式之一 一.String定义 public final cl ...

  5. IntelliJ IDEA 2017版 spring-boot2.0.2 搭建 JPA springboot DataSource JPA sort排序方法使用方式, 添加关联表的 order by

    1.sort可以直接添加在命名格式的字段中 List<BomMain> findAllByDeleted(Integer deleted, Sort sort); 2.可以作为pageab ...

  6. 02-jQuery的选择器

    我们以前在CSS中学习的选择器有: 今天来学习一下jQuery 选择器. jQuery选择器是jQuery强大的体现,它提供了一组方法,让我们更加方便的获取到页面中的元素. 1.jQuery 的基本选 ...

  7. A - 饭卡

    电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...

  8. ReactNative学习笔记(一)环境搭建

    前言 本文开发环境为Windows,目标平台为Android,react-native版本为0.35.0. 环境搭建 注意,本文不是按照官网的教程来的,官网说必须安装什么Chocolatey,我懒得鸟 ...

  9. 在Azure DevOps Server的代理服务器安装Python环境

    Python和Azure DevOps Server Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初主要为系统运维人员编写自动化脚本,在实际应用中,Python已经在前端 ...

  10. RabbitMQ 常用操作

    RabbitMQ简介 1.首先安装erlang rpm -Uvh https://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos ...