第四回 向View传值

2023-10-29 11:38
文章标签 传值 view 第四回

本文主要是介绍第四回 向View传值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、ViewData与TempData属性来向View页传递对象


上文中已经提到,使用ViewData可以将数据由Controller传递到View
在前文中我们建立了EiceController类
在本文的示例中我们将这个Controller改一下

   public class EiceController : Controller      {          public ActionResult Index()          {              ViewData["ViewData"] = "在这里显示ViewData";              TempData["TempData"] = "在这里显示TempData";              return View();          }          public ActionResult Index2()          {              return View("Index");              //这里指定了规定显示的View文件即Eice目录下的Index.aspx          }      }

我们将Index的参数移除,并提供了ViewDataTempData的赋值
在Views/Eice/Index.aspx这个View中我们写以下代码

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>  <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">   Index  </asp:Content>  <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">  1:<%=ViewData["ViewData"]%><br />  2:<%=TempData["TempData"]%>  </asp:Content>

 

注意上面的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一般用于临时的缓存内容或抛出错误页面时传递错误信息。

二、通过ViewData.Model来传递对象

我们先建立一个Model:EiceIndexModel.cs。

    public class EiceIndexModel      {          /// <summary>          /// 姓名          /// </summary>          public string Name { get; set; }          /// <summary>          /// 性别          /// </summary>          public bool  Sex { get; set; }      }

 

之后我们建立一个新的Action:Index3

        public ActionResult Index3(){              var m = new EiceIndexModel              {                  Name = "邹健",                  Sex = true              };              return View(m);          }

 

我们下面为Index3建立View文件,仍然是在Index3上点击右键AddView

image

于是自动生成了一个View文件,我们运行看结果:

image

 

 

如果我们想要显示其它的文件我们应该怎么办呢?

这篇关于第四回 向View传值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/300383

相关文章

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

16 子组件和父组件之间传值

划重点 子组件 / 父组件 定义组件中:props 的使用组件中:data 的使用(有 return 返回值) ; 区别:Vue中的data (没有返回值);组件方法中 emit 的使用:emit:英文原意是:触发、发射 的意思components :直接在Vue的方法中声明和绑定要使用的组件 小炒肉:温馨可口 <!DOCTYPE html><html lang="en"><head><

React 笔记 父子组件传值 | 父组件调用子组件数据 | defaultProps | propsType合法性验证

1.通过props实现父组件像子组件传值 、方法、甚至整个父组件 传递整个父组件则   [变量名]={this} import Header from "./Header"render(){return(<Header msg={"我是props传递的数据"}/>)} import React,{Component} from "react";class Header extends

react笔记 8-18 事件 方法 定义方法 获取/改变数据 传值

1、定义方法并绑定 class News extends React.Component {constructor(props) {super(props)this.state = {msg:'home组件'}}run(){alert("我是一个run") //方法写在类中}render() {return (<div><h2>{this.state.msg}</h2><button onCli

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.B

一个bug日志 FATAL EXCEPTION: main03-25 14:24:07.724: E/AndroidRuntime(4135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.syyx.jingubang.ky/com.anguotech.android.activity.Init

自定义view中常用到哪些方法作用分别是什么

目录 构造函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)onDraw(Canvas canvas)onLayout(boolean changed, int left, int top, int right, int bottom)onTouchEvent(MotionEvent event)onSizeChanged(int

Jasperreports+jaspersoft studio学习教程(七)- 子报表Subreport(父子报表互相传值)

转载:https://blog.csdn.net/shiyun123zw/article/details/79221708 有很多人都说Jasperreports不适合中国式复杂报表,实际上运用好父子报表可以解决大部分问题了。例如下面的表。每个学生的学科数目不固定,且每个学生后有相当于小计的平均分。有点复杂度的报表,可以使用子报表解决。 8.1 设计报表模板 8.1.1 新建主模板De

关于java多参数的传值问题解析

https://blog.csdn.net/chenzl0723/article/details/78800819 首页博客学院下载图文课论坛APP问答商城VIP会员活动招聘ITeyeGitChat     写博客赚零钱消息 Java方法参数过多   12-21 java中参数传值和传引用例子详解   10-11 javaweb中url传递多个参数时后台利用Enumeration集合接

android 动画 ——视图动画(View Animation)

android动画分为视图动画(View Animation)、属性动画(Property Animation) 想看属性动画(Property Animation):请移步至http://blog.csdn.net/u013424496/article/details/51700312 这里我们来说下视图动画(View Animation)的纯代码写法,还有一种是xml调用, 对于xml调