使用asp.net MVC时,您是否有任何不利之处?
修改
如果是,你可以列出一些缺点,
答案 0 :(得分:6)
使用WebForms,您可以拥有大量预先构建的UI控件,例如网格,图形工具等...... RAD控件有整个行业。
不幸的是,在ASP.NET MVC中,很多东西还没有完全存在。
答案 1 :(得分:4)
最大的缺点是你可能会被迫使用JavaScript / AJAX来实现更复杂的表单。例如,如果你有一大堆小部件(例如,数据网格,附加的侧面形式等)不是当前视图的直接部分,那么管理状态就很麻烦。
在ASP.NET WebForms中,viewstate会自动处理这个问题,这样您就可以有多个独立的控件回发和触发事件,而不会弄乱页面上的任何其他内容。
在ASP.NET MVC中,您需要自己处理所有这些,最简单的方法是简单地将事物移到浏览器端。
从好的方面来看,在完成所有调试之后,它可以带来更好的用户体验。
答案 2 :(得分:3)
此处有更多信息:Should I migrate to ASP.NET MVC?
答案 3 :(得分:3)
这实际上取决于项目的类型。有些人喜欢MVC,因为SEO受益于干净的网址,并允许用户通过智能网址猜测智能地“破解”网址。 MVC带来的费用是你将失去Web控件,因此没有ASP.NET AJAX,也没有来自UI库的拖放网格。
只是为了概括,一个公开可用的网站可能是MVC的更好候选者,因为它具有SEO优势,而内部或商业应用可能会更好地利用开发其他领域的时间。再说一遍,如果你想要的只是干净的URL,你可以通过URL重写实现同样的事情而不用MVC,
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx http://msdn.microsoft.com/en-us/library/ms972974.aspx
至于使用MVC的“劣势”,它可能更像是个人的,
我认为缺点实际上与开发人员和项目有关。
答案 4 :(得分:2)
学习曲线和缺乏预先构建的控件,这将削弱WebForms开发人员的工作效率。
我可以给你一个非常好的优势:如果你还没有这样做,你将最终学习HTML / CSS和HTTP的基础知识,这是进行任何严肃的Web开发所需要的,而不仅仅是拖动 - 编辑中的东西。
答案 5 :(得分:1)
控制状态(输入字段中的文本)之类的东西需要手动处理一个,与webforms进行比较...假设您“正确”使用它。
总而言之,你必须自己做一些实际的演示工作,这在我看来是件好事,但在形式密集型应用程序(例如管理员)中,它可能会让你失望。
(我的意思是你确定你可以在mvc应用程序中运行大多数普通的asp.net内容,但如果你这么做,你应该只运行webforms。)
答案 6 :(得分:1)
ASP.NET需要IIS7路由(即Windows Server 2008或Vista)。您可以在Server 2003下的IIS6上运行它,但是您将失去无扩展的路由冷却。
答案 7 :(得分:1)
答案 8 :(得分:0)
它没有使用强大的asp.net控件。
代码无法读取。如果你想在其他人开发的网站上添加一些增强功能,你就会疯了......