这是一个很好的asp.net网站架构选择吗?

时间:2012-04-26 17:50:40

标签: jquery asp.net

我目前正在使用asp.net网站,我正在使用网络表单。在使用服务器控件(网格视图,图表等)之前,我有一些构建asp.net网站的经验,我觉得它们很慢。我尝试了一些jquery套件,它们具有所有控件(网格,图表,树等),至少是我需要的,我喜欢它们主要是因为它们的速度和改进的用户体验。我打算不使用任何asp服务器控件,而是在我的网站上使用普通的html和jquery插件。

不使用任何asp.net服务器控件并将大部分处理移至客户端是不是一个好的选择?

我知道如果客户端浏览器关闭了javascript,那么我的网站根本无法运行。

但除此之外,鉴于我们未来计划开发移动应用程序和/或实施MVC,我可能面临哪些问题?

如果最终将每个东西都渲染为html并且我可以使用jquery ajax请求获取/发布数据,为什么我应该使用asp.net服务器控件呢?

非常感谢任何帮助。

5 个答案:

答案 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)

首先,我认为“服务器控件”和服务器端值得区分。

  • 确定您可以在HTML / JS中完成所有前端
  • 如果您在浏览器之外有数据源,则至少需要与“服务器端”进行通信。这与“服务器控件”无关。
  • 验证/安全 - 您无法在客户端执行所有这些操作。客户端的 Everything 可以被查看/篡改
  • 已经回答过,MVC没有需要控件 - 只是澄清你可以使用ASP.Net MVC中的控件。核心概念是全部ASP.Net ,您可以随意混合/匹配 - 甚至语言(VB.Net,C#)

Web表单仍然有它的位置,没有任何关于它阻碍jQuery或其他什么。

“慢”取决于很多事情。我不会责怪Web Forms(技术) 。无论采用何种技术,代码都会出现错误。