为什么我不能在ASP.net MVC中使用服务器控件?
|
我准备好负责领导一个小的ASP.net MVC应用程序的开发。这是我第一次创建一个MVC应用程序,所以我很兴奋! 我仔细阅读了文档,我觉得我有一个大致的想法,如何MVC的工作原理。但是,如果我理解正确,服务器控件(如GridView,例如)不是MVC的一部分。 我的问题是:为什么?在我的开发商店,我习惯于使用像GridView和MS Chart Controls这样的控件,我几乎完全失去了开发没有他们。它似乎几乎像开始。 为什么服务器控件不可用? Microsoft如何希望我没有他们工作?什么是替代品? 解决方法
因为它们大多数依赖于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 – IIS在编译的.net站点中查找.cs文件
- ASP.NET关闭FriendlyURLs mobile.master页面
- asp.net – 在IIS7中设置自定义错误页面时是否可以使用相对
- asp.net – 来自.Net iSeries Provider的AS 400性能
- asp.net-mvc – 为什么DropDownListFor会在提交后丢失多个选
- asp.net – ConfigurationManager.AppSettings缓存
- asp.net – 不引用MVC的AllowHtml属性
- asp.net – 如何在IIS7中为HttpHandler注册多个路径?
- asp.net-mvc – 如何在本地化的文本中嵌入链接
- asp.net-mvc – ActionLink MVC中的图像按钮
- asp.net – HttpContext.Error vs HttpContext.S
- asp.net核心 – dotnet cli – “检测包降级”
- asp.net-mvc-3 – 使用自定义VirtualPathProvide
- asp.net – 如何将http请求转发到https网址
- Asp.net服务器端代码块说明
- asp-classic – 经典ASP:捕获错误
- asp.net – 使用Cookie进行Web会话状态 – 有哪些
- 使用ASP.NET/SQL Server丢失会话状态
- asp.net-mvc-3 – 如何在mvc3 razor视图中使用会
- asp.net – 迁移匿名配置文件的最佳方式
