惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
H
Heimdal Security Blog
K
Kaspersky official blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Schneier on Security
G
GRAHAM CLULEY
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
罗磊的独立博客
Stack Overflow Blog
Stack Overflow Blog
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
C
Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
Security Archives - TechRepublic
Security Archives - TechRepublic
www.infosecurity-magazine.com
www.infosecurity-magazine.com
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
V
Visual Studio Blog
博客园 - Franky
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Jina AI
Jina AI
P
Proofpoint News Feed
P
Proofpoint News Feed
有赞技术团队
有赞技术团队
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
S
Security Affairs
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
N
News | PayPal Newsroom
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
NISL@THU
NISL@THU

博客园 - Teracy

扫站:比较购物网站列表 网络书签的代码整理 2009年12月的工作发现 电子商务的认知 招聘Net软件工程师,网站设计师 sql2005数据库sa密码忘记了,该怎么办? 08年最后一天该说点什么了 邀请大家谈谈山寨版 工作小结 + 发布新的邮件发送工具 在ASP.NET中自动给URL地址加上超链接 把搜索引擎营销变成你的企业营销绩效飞跃重要策略 Google搜索引擎排名技巧 在ASP.NET中显示进度条-ASP.NET ASP.NET2.0实现无刷新客户端回调(热点技术) 工作记录 上班时间也要忙里偷闲 项目小结+Repeater中如何使用单选按钮 招聘Net软件工程师,测试工程师: 招聘ASP.NET技术人员
MVC 2.0 学习笔记 和 Demo共享
Teracy · 2010-06-01 · via 博客园 - Teracy

好久没有写BLOG了,可能没有技术上的新发现,也不知道在这里和大家共享什么。 最近在研究MVC 2.0, 这个玩意大家都知道是把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。说它好,它确实好,开发起来简单方便;说它不好,也确实存在一些问题。比如说版本升级的风险,性能比较研究现在都不够深刻。我刚刚开始学的时候在网上找资料找了好多都是一样的,并且现在大部分都是针对MVC1.0的介绍。为了让初学者少走弯路,就借此地和大家分享下我的学习经历,我也不卖官子写一讲,二讲......了,我觉得这个入门了就走出了一大步,所以就一次性全部拿出来说啦。

要用这个第一步:要装一个:AspNetMVC2_VS2008.exe ,这个东西网上一搜很多地方由下载,看你的VS是什么版本的,下载安装好了就会在你的VS新建模板的时候有:;新建一个 “Asp.Net MVC 2 Web Application”,然后跟着会弹出问你是否创建一个测试的项目,我们选择否。然后系统就会自动创建一些问题,这些文件就是我们学习的模板,我们不懂原理不要紧,照葫芦画瓢,画几个就懂了。项目建好了,我们要说说里面的文件的使用。我们的 View文件中有几个原始目录,,这个要搞清楚的就是controller是文件夹,action就是页面。如我们要浏览Home目录下的Index.aspx;就要在根目录下的 Global.asax 里面设置:

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }

知道怎么浏览了,我们下一步要看怎么Add View,Add View分好几种选项,空文件和强类型数据文件,初学最好用空文件,因为强类型的还要改一些东西。我们新建一个文件夹D1,然后在D1下建V1.aspx;然后像上面一样浏览是浏览不出来的,因为我们还要在Controllers文件夹目录下的类文件中加上相应的控制。

比如: public ActionResult V1()
        { 
            return View();
        }

这样的。否则浏览的时候就会提示:“ /应用程序中的服务器错误。无法找到资源。” 。

简单的Add View 好了,我们就看看里面怎么用,一开始看看传值方式:

 ViewData["myDate"] = "测试用ViewDate简单的传值,仅限于当前页面";
 TempData["myTempDate"] = "测试用TempDate简单的传值,可以作为页面跳转间传值使用,但只能用一次,第二次请求的时候就没有了";

ViewDate是很强悍的玩意,什么东西都能存,string,List,DataTable,某个类的实体都没有问题就想Session一样。我的Demo中都有实例的。

传值还有一部分就是链接传值,比如我们在V4中创建一个链接:
    <%= Html.ActionLink("测试链接传到V5", "V5", "D1",
        new { word = " 第一个值word ",key=" 第二个值:key ",uid=" 第三个值:uid " }, new { @class="D1"}
        )%> 

这样就是创建了一个链接,第一个参数是“链接文字”,第二个参数是:“链接需要跳转的页面”,第三个参数是“文件夹”,第四个参数是:“链接的参数”;

 V5页面接受上面这个链接的方法有两种:

        /// <summary>
        /// 方法一
        /// </summary>
        /// <param name="word"></param>
        /// <returns></returns>
        public ActionResult V5(string word, string key, string uid)  //这里定义的变量名字一定要和链接上带的名字一摸一样的。
        {
            ViewData["qt"] = word + key + uid;

            return View();
        }
        /// <summary>
        /// 方法二
        /// </summary>
        /// <returns></returns>
        public ActionResult V5()
        {
            ViewData["qt"] = Request.QueryString["word"].ToString() + Request.QueryString["key"].ToString() + Request.QueryString["uid"].ToString();

            return View();
        }

这是我们经常用的链接传值。

基本入门知道这些就OK了,再细就要靠自己去挖掘了。Demo中还有关于表单提交,注册,登陆和上面说的Add View选择强类型的方法,大家可以自己研究研究。

Demo地址: https://files.cnblogs.com/teracy/Demo100528.zip