欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入探讨ASP.NET WebForm与Mvc开发技术的差异

时间:11-08 现代故事 提交错误

ProcessRequest()方法会调用对应页面的Page_Load()方法

1 protected void Page_Load(object sender, EventArgs e)2 {3 //处理业务逻辑或访问数据库的代码4 //要输出的Html或其他内容5 }4)返回给浏览器(包括Html,CSS,Js等等)流程图如下:

MVC网站的运行机制例如,我们现在要访问一个MVC站点:www.google.com.hk/FirstPage/Default(只是一个例子)。我们的浏览器和服务器做了什么操作?

1)浏览器向服务器发送Request请求报文(FirstPage/Default)2)服务器端的IIS相应Request请求3).NET FramWork根据路由配置,解析URL,并创建FirstPage类的对象,并调用相应的Default方法1 public ActionResult Default()2 {3 4 return View(); //返回视图5 }4)然后会访问视图文件夹下的Default.cshtml,返回给浏览器(其中包括html,css,js等等)流程示意图如下:

这只是一个比较简单的运行过程。其实这个过程中发生了很多事情,比如执行Global.asax中的Application_Start()方法来完成一些初始化工作等等,这些都会在以后的文章中进行分析。以上就是WebForm网站和MVC网站运行机制的区别。

那么到底使用MVC的优点比WebForm到底有哪些优点呢?最重要的是.NET程序员在开发时将不再使用那些被很多人诟病的微软封装的控件。

MVC设计模式减少了模型(模型、业务和数据)与视图之间的耦合关系。包括我们在开发WebForm网站时使用三层架构的想法也是为了减少数据和视图的耦合;

视图可以重用,即相同的数据可以使用不同的视图和不同的图标来显示。

-------------------------------------------------- -----理论到此结束------------------------------------------ - ----------------------

常用的WebForm开发方法我就不举例了。下面我主要演示一个基本的MVC程序的创建和运行过程。

创建一个MVC程序,VS肯定是少不了的。我的开发环境是VS2013。请酌情考虑您自己的VS 版本。

首先的打开“文件”“新建项目”,在左侧的项目栏选择“Visual C#”“Web”,在右边就可以看到有“ASP.NET Web窗体应用程序”和“ASP.NET MVC 4 Web应用程序”如下图:因为要创建MVC程序就选择点击第二个选项然后会看到项目模板,默认的是选择“Internet应用程序”,如果选择默认的话,就会默认的创建一个具有基本功能的站点。我们这里选择“基本”,VS只会创建包含基本框架简的模板创建完以后我们会在解决方案下看到代码的树状结构,其中包含Models,Views和Controllers三个文件夹我们首先创建实体对象Model,在Models文件夹下创建一个Child类,并声明属性和初始化复制代码

1 public class Child 2 { 3 //数字4 private int id; 5 6 7 public int Id 8 { 9 获取{ 返回id; }10 集{ id=值; }11 }12 13 //名称14 私有字符串strName; 15 16 公共字符串StrName17 {18 获取{ return strName; }19 设置{ strName=值; }20 }21 22 }

复制代码在Controllers文件夹上右键,“添加”,会看到有“控制器”的选项,如下图:单击“控制器”后,将出现“添加控制器”表单。控制器名称“Default1Controller”中,默认选择“Default1”。我们将其名称修改为“HomeController”。

注意:这里的“Default1Controller”中的“*Controller”一定要保留,主要是因为MVC框架有一个“约定大于配置”的规则

单击“添加”以添加控制器。默认生成的控制器代码如下:

复制代码

1 //默认生成的Controller代码2 public class HomeController : Controller 3 { 4 //5 //GET: /Home/6 7 //包含一个Action方法8 public ActionResult Index() 9 {10 //返回视图11 return查看();12 }13 14 }

复制代码然后我们创建一个集合来初始化在Models中创建的Child类的属性值复制代码

1 #region 初始化数据集合+ List InitData() 2 ///3 ///初始化数据集合4 ///5 ///6 public ListInitData() 7 { 8 9 Listlist=new List()10 {11 new Child (){Id=1,StrName="您好! "},12 new Child(){Id=2,StrName="不好! "}13 };14 15 返回列表;16 }17 18 #endregion

复制代码,开始编写Action方法,即“ActionResult Index()”方法,

复制代码

1 ///2 ///Action方法(相当于MVC设计模式的Model) 3 ///4 ///5 6 public ActionResult Index() 7 { 8 //可以处理当前业务(例如,可以读取数据库、判断等) 9 StringBuilder strBuilder=new StringBuilder();10 //创建数据集合并获取数据11 Listlist=InitData();12 //遍历集合获取生成的Html代码13 list.ForEach(d=14 {15 strBuilder.AppendLine("" + d.Id.ToString() + "");16 });17 18 //使用ViewBag将数据传输到同名的Indexcshtml视图中19 //ViewBag是动态类型集合,可以动态添加任意类型任意名称和属性20 ViewBag.HtmlStrBuilder=strBuilder.ToString();21 //加载同名视图Index.cshtml22 return View();23 }

将我们使用ViewBag传输数据的代码复制到Views文件夹中同名的同名视图中。

创建视图接收数据,上面代码的Index方法上右键,会出现”添加视图“,如下图

用户评论

怪咖

想做web页面,学习asp.net是不错的选择,但就选webform还是mvc呢?

    有10位网友表示赞同!

古巷青灯

感觉mvc结构更清晰、代码更容易维护吧,对新手友好吗?

    有14位网友表示赞同!

一纸愁肠。

我曾经用过webform,现在想要换成mvc开发,应该怎么做呢?

    有20位网友表示赞同!

空谷幽兰

这两个框架哪个更容易学?学习成本怎么样?

    有19位网友表示赞同!

红玫瑰。

文章讲了asp.net的两个主流开发方式吗?我的理解是对吧?

    有7位网友表示赞同!

巴黎盛开的樱花

我现在正在做一款web应用,不知道选用webform还是mvc比较合适。

    有14位网友表示赞同!

雨后彩虹

感觉webform更适合小型项目,MVC更适合大型项目吧?

    有17位网友表示赞同!

怀念·最初

ASP.NET学习起来真的不简单啊,不过这两个框架都很强大。

    有11位网友表示赞同!

莫名的青春

想看看这个文章里面详细对比了哪些方面,能让我更好地了解它们的区别。

    有19位网友表示赞同!

今非昔比'

哪个框架的性能更好呢?

    有17位网友表示赞同!

摩天轮的依恋

在实际项目中,webform更受欢迎吗?还是mvc更常被使用?

    有6位网友表示赞同!

心悸╰つ

这两者有什么共同点吗?或者说根本区别很小么?

    有5位网友表示赞同!

有阳光还感觉冷

期待文章能解释清楚每个框架的优点和缺点。

    有7位网友表示赞同!

别留遗憾

如果想实现动态的功能,webform和mvc哪个更容易呢?

    有19位网友表示赞同!

素颜倾城

文章里讲了哪些实际案例?能不能用实例来说明它们的区别?

    有8位网友表示赞同!

灵魂摆渡人

我觉得 mvc 更适合架构师吧,对新手有点难度。

    有13位网友表示赞同!

我要变勇敢℅℅

这两个框架的学习资源丰富吗?感觉找到好的教程很不容易。

    有14位网友表示赞同!

浅嫣婉语

看了标题感觉很有意思,赶紧来打开看看文章内容啊!

    有6位网友表示赞同!

一样剩余

在选择项目的时候,哪个框架更适合呢?这个文章可以帮我做个决定吧!

    有12位网友表示赞同!

【深入探讨ASP.NET WebForm与Mvc开发技术的差异】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活