我目前正在使用asp.net网站,我正在使用网络表单。在使用服务器控件(网格视图,图表等)之前,我有一些构建asp.net网站的经验,我觉得它们很慢。我尝试了一些jquery套件,它们具有所有控件(网格,图表,树等),至少是我需要的,我喜欢它们主要是因为它们的速度和改进的用户体验。我打算不使用任何asp服务器控件,而是在我的网站上使用普通的html和jquery插件。
不使用任何asp.net服务器控件并将大部分处理移至客户端是不是一个好的选择?
我知道如果客户端浏览器关闭了javascript,那么我的网站根本无法运行。
但除此之外,鉴于我们未来计划开发移动应用程序和/或实施MVC,我可能面临哪些问题?
如果最终将每个东西都渲染为html并且我可以使用jquery ajax请求获取/发布数据,为什么我应该使用asp.net服务器控件呢?
非常感谢任何帮助。
答案 0 :(得分:1)
如果您没有使用ASP.NET控件,那么您实际上并没有使用ASP.NET网页表单。这些控件可以为您提供客户端和服务器端的交互。
根据您的说法,听起来MVC是从一开始就采用的方式。默认项目已经包含了jQuery,并且由于没有MVC控件,它只是HTML和Javascript将GET / POST传递给控制器。
此外,JSON支持允许数据与jQuery进行非常好,干净和轻松的交互。
答案 1 :(得分:1)
我想提供2美分,而不是一个完整的答案。如果你在任何网站上使用.NET,我的拙见是你应该使用MVC。使用MVC,您可以更好地分离业务层和UI。
您可以通过创建支持xml或json响应的控制器轻松创建对API的支持,这样可以使用jquery,extjs等框架帮助您的丰富用户界面,并且您可以随时支持移动设备相同的API。
答案 2 :(得分:0)
大约一年前,我遇到了你的情况,并得出了同样的结论。
更进一步,我意识到我甚至不需要aspx页面:只使用一个母版页构建HTML5页面,该页面使用文字(我使用的唯一的asp.net控件)在页面加载时注入json数据然后使用WCF实现面向服务的体系结构,使用jquery ajax来回传输数据。
答案 3 :(得分:0)
我不喜欢Microsoft MVC - 但那只是我。
MVC是一种模式,而不是一种技术,因此您可以根据需要实施它。
如果你不想学习微软的MVC实现,你可能会考虑做些什么,仍然使用WebForms,但是使用MVC风格来开发你的应用程序是这样的:
视图:ASP.NET页面(无服务器端控件)builds
页面
CONTROLLER:jQuery / Javascript calls
通用处理程序文件(ASHX)和returns
JSON
MODEL:ASHX calls
模型(您的自定义类)
通过这种方式,您使用的是MVC模式,但是您并没有将其与Microsoft的实现联系起来,现在,您可以使用相同的控制器开发网站和移动应用程序,因为您的控制器级别是通过ASHX文件。
希望这是有道理的。
您显然必须处理安全性和访问ASHX文件等。
答案 4 :(得分:0)
首先,我认为“服务器控件”和服务器端值得区分。
Web表单仍然有它的位置,没有任何关于它阻碍jQuery或其他什么。
“慢”取决于很多事情。我不会责怪Web Forms(技术) 。无论采用何种技术,代码都会出现错误。