Asp.net Mvc Framework 五 (向View传值以及Redirect)

简介: ViewData与TempData属性来向View页传递对象 上文中已经提到,使用ViewData可以将数据由Controller传递到View 在前文中我们建立了EiceController类 在本文的示例中我们将这个Controller改一下namespace MvcApplication2.
ViewData与TempData属性来向View页传递对象
上文中已经提到,使用ViewData可以将数据由Controller传递到View
在前文中我们建立了EiceController类
在本文的示例中我们将这个Controller改一下
namespace  MvcApplication2.Controllers
{
    
using System;
    
using System.Collections.Generic;
    
using System.Linq;
    
using System.Web;
    
using System.Web.Mvc;
    
/**//// <summary>
    
/// 记不记得前面讲过的,所有Controller都要继承于
    
/// Controller类当然Controller有很多种,我们慢慢讲
    
/// </summary>

    public class EiceController : Controller
    
{
        
public void Index() {
            ViewData[
"ViewData"= "在这里显示ViewData";
            TempData[
"TempData"= "在这里显示TempData";
            RenderView(
"Index");
        }

        
public void Index2() {
            RenderView(
"Index");
        }

    }

}
我们将Index的参数移除,并提供了ViewData和TempData的赋值
在Views/Eice/Index.aspx这个View中我们写以下代码
1 : <%= ViewData[ " ViewData " ] %>< br  />
2 : <%= TempData[ " TempData " ] %>
注意上面的1.2不是行号...

接下来我们运行工程
访问http://localhost/Eice/Index
可以看到运行得到以下

1 .在这里显示ViewData
2 .在这里显示TempData

再访问http://localhost/Eice/Index2
显示结果为
1 .
2 .在这里显示TempData
这里1显示是的ViewData中的内容,2为TempData传递的内容
我们可以看到
ViewData只能在本Action中有效
但是TempData可以类似于Session一样到其它页面仍然存在,但只限一页的访问(类似于Monorail中的Flash)
TempData一般用于临时的缓存内容或抛出错误页面时传递错误信息
Redirect方法跳转页面到其它的Controller/Action
RedirectToAction(Action名);
RedirectToAction(Action名, Controller名);
RedirectToAction(RouteValueDictionary);
在这里前两种都没有什么好说的 RedirectToAction("About","Home");就是一种写法
主要是第三种重载
用户可以这样写
            System.Web.Routing.RouteData routeData  =   new  System.Web.Routing.RouteData();
            routeData.Values.Add(
" Action " " About " );
            routeData.Values.Add(
" Controller " " Home " );
            RedirectToAction(routeData.Values);

这样就可以完成页面跳转
当然,也可以使用传统的Response.Redirect来完成页面的跳转

Asp.net Mvc Framework 系列
目录
相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
42 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
100 5
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
124 0
|
5月前
|
开发框架 自然语言处理 前端开发
基于ASP.NET MVC开发的、开源的个人博客系统
基于ASP.NET MVC开发的、开源的个人博客系统
52 0
|
8月前
|
SQL 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(完:内附源码)
经过一段时间的准备,【ASP.NET Core MVC开发实战之商城系统】已经完成,目前代码已开发完成,先将全部内容整理分享,如有不足之处,还请指正。
107 0
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
117 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
67 0