当前位置: 首页 > news >正文

MVC入门学习笔记(三)

2.TempData[]字典:

   TempData[]是一个可以跨Action的传递,且只传递一次.

   1.在HomeController.cs中创建字典:

    public ActionResult Index()
        {
            TempData["strValue"] = "跨页面传值";//这里进行了字典定义
            Response.Redirect("/home/about");//跳转到about页中
            return View();
        }

   2.因为页面将跳转到about页,并希望该页接受到传值,所以定义应在About.aspx中:

    <%=TempData["strValue"]%>

   3.编译运行:

    2010091811420125.jpg

   4.我们已经可以看到我们传递的值了,但是刷新以后,将不会显示,因为该传值只能传递一次

3.ViewModel模型

     我们先看一个以类为值的传递:

   1.创建类Class1.cs:

    2010091811422136.jpg

  2.在类中我们创建两个属性:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MvcDemo
{
    public class Class1
    {
        public int Id { get; set; }
        public string Name{get;set ;}
    }
}

 

3.因为我们要在Index.aspx中取得数据,所以我们在相应的HomeController.cs控制器中输入:

public ActionResult Index()
        {
            MvcDemo.Class1 user = new Class1();
            user.Id = 33;
            user.Name = "张三";
            ViewData["strValue"] = user;
            return View();
        }

4.在View页面Index.aspx中,我们取得数据:

  <%=(ViewData["strValue"] as MvcDemo.Class1).Name %>

5.编译项目:

   2010091811423967.jpg

在这里,我们已经看到我们传递过来的Name属性了,但是在这种方法中有一个非常不好的问题,我们每次都要进行一次对ViewData[]的as转换,有没有更方便的方法那??

现在我们对代码进行修改:

  1.我们在相应的HomeController.cs控制器中做如下修改:

  public ActionResult Index()
        {
            MvcDemo.Class1 user = new Class1();
            user.Id = 33;
            user.Name = "张三";
            return View(user);
        }

   在这里,我们直接将user作为参数传递到View()方法中。

  2.相应的,我们在View页面Index.aspx中,做如下修改:

    <%ViewData.Model.Name %>

     其中Model是ViewData的一个属性

  3,另外我们还要修改Index.aspx页面的属性(注意,VS2010中的.aspx页面下不存在.cs页面,只能用本方法,如果VS2008中,也可以将ViewPage泛型化大道这种目的):

     Inherits="System.Web.Mvc.ViewPage"

     为

     Inherits="System.Web.Mvc.ViewPage<MvcDemo.Class1>"

  4.编译运行,运行结果是一样的

    2010091811424815.jpg

页面传值已经介绍完毕,其中不免有疏漏错误,请指正,限于本人当前技术


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mane_yao/archive/2010/07/07/5718242.aspx

转载于:https://www.cnblogs.com/mane/archive/2010/09/18/1830079.html

相关文章:

  • CentOS服务器配置系列--telnet服务器
  • visual scene interpretation
  • 如何用JSP/Java程序免费向手机发消息?
  • Bigpoint 发布全球首款Silverlight网页游戏(转载)
  • VS2008的动、静态编译(转)
  • python 批量修改密码
  • 计算机达人成长之路(20)
  • java线程同步概述
  • jQuery id选择器中特殊字符的处理
  • C#类学习-1
  • 定义Message大小限制
  • Dojo学习5 日期选择:dijit.form.DateTextbox
  • 转 fpga学习经验2
  • RRDtool 1.4.4 安装
  • Windows 7 Phone 文档数据库Rapid Repository正式发布
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 4. 路由到控制器 - Laravel从零开始教程
  • CSS实用技巧
  • Java 多线程编程之:notify 和 wait 用法
  • Java多线程(4):使用线程池执行定时任务
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • Web标准制定过程
  • windows下如何用phpstorm同步测试服务器
  • XForms - 更强大的Form
  • 程序员该如何有效的找工作?
  • 反思总结然后整装待发
  • 力扣(LeetCode)21
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何胜任知名企业的商业数据分析师?
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • elasticsearch-head插件安装
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​力扣解法汇总946-验证栈序列
  • # 数论-逆元
  • ###STL(标准模板库)
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (31)对象的克隆
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)Linux——Linux常用指令
  • (力扣题库)跳跃游戏II(c++)
  • (三)终结任务
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (一)Linux+Windows下安装ffmpeg
  • (转)c++ std::pair 与 std::make
  • (转)Mysql的优化设置
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)项目管理杂谈-我所期望的新人
  • (转载)(官方)UE4--图像编程----着色器开发
  • (转载)OpenStack Hacker养成指南
  • . NET自动找可写目录