为什么我不能在ASP.net MVC中使用服务器控件?

前端之家收集整理的这篇文章主要介绍了为什么我不能在ASP.net MVC中使用服务器控件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我准备好负责领导一个小的ASP.net MVC应用程序的开发。这是我第一次创建一个MVC应用程序,所以我很兴奋!

我仔细阅读了文档,我觉得我有一个大致的想法,如何MVC的工作原理。但是,如果我理解正确,服务器控件(如GridView,例如)不是MVC的一部分。

我的问题是:为什么?在我的开发商店,我习惯于使用像GridView和MS Chart Controls这样的控件,我几乎完全失去了开发没有他们。它似乎几乎像开始。

为什么服务器控件不可用? Microsoft如何希望我没有他们工作?什么是替代品?

解决方法

My question is: Why?

因为它们大多数依赖于ViewState和Postback模型,这些模型是经典WebForms模型的一部分,并且不再存在于ASP.NET MVC中。这些服务器端控件依赖于将对服务器执行回发的事件在隐藏字段(ViewState)中保持其状态。在ASP.NET MVC中,您不再使用诸如Button1_Click之类的事件。在ASP.NET MVC中,您使用一个模型,一个控制器和视图。控制器负责接收用户请求,查询模型,将结果转换为视图模型,并将此视图模型传递给负责以某种形式显示的视图。

在ASP.NET MVC中有HTML助手,可用于在视图之间生成一些可重用的HTML片段。你可以看看在这样的帮助者的Telerik ASP.NET MVC suite的例子。他们称之为控件,但它们与传统的WebForms服务器端控件无关。它们只是HTML助手。

基本上经典的WebForms是一个渗漏的Web抽象。微软在设计这个框架时所做的工作是将现有的Windows开发人员技能带到越来越有势头的网络上。但是,由于网络仍是一种新技术,大多数开发人员还不熟悉,他们创造了这种抽象,以隐藏www的工作方式。这些开发人员习惯于在他们的Windows窗体上拖放控件,双击生成一些代码的按钮,在这些按钮中放置他们的数据访问逻辑等等。由于WebForms,这个模型被转移到Web应用程序开发。 HTTP协议被成功地隐藏在这个称为WebForms的抽象背后。例如,你不需要知道HTML,也不需要Javascript,甚至不需要CSS,以使用WebForms创建一个网站,这是真的很棒,因为框架为你提取所有这些东西。不幸的是,这样做阻止了您轻松利用一些人在开发Web应用程序时可能需要的低级Web技术的全部功能

什么ASP.NET MVC做基本上是删除这个泄漏的抽象,并把www的开发者的方式,它的意图是由它的创作者。与传统的WebForms相比,ASP.NET MVC不够成熟,所以你不能期望找到相同的可用控件和小部件范围,但事情正在慢慢地移动。

我建议你从这里开始与ASP.NET MVC:http://asp.net/mvc.继续,观看视频,玩弄样本,看看ASP.NET MVC是否为你。当然,如果你遇到一些具体的困难或问题,不要犹豫,回来这里,问。

猜你在找的asp.Net相关文章