2

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

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

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

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

如果所有内容最终都呈现为 html 并且我可以使用 jquery ajax 请求获取/发布数据,我为什么还要使用 asp.net 服务器控件?

任何帮助是极大的赞赏。

4

5 回答 5

1

如果您没有使用 ASP.NET 控件,那么您并没有真正使用 ASP.NET 网络表单。控件为您提供客户端和服务器端交互。

就您所说的而言,这听起来像 MVC 是从一开始就要走的路。默认项目已经包含 jQuery,并且由于没有 MVC 控件,它只是 HTML 和 Javascript 将您的 GET/POST 传递给控制器​​。

此外,JSON 支持允许与 jQuery 进行非常漂亮、干净和轻量的数据交互。

于 2012-04-26T17:54:54.543 回答
1

远不是一个完整的答案,我想提供我的 2 美分。如果您正在为任何网站使用 .NET,我的拙见是您应该使用 MVC。使用 MVC,您可以更好地分离业务层和 UI。

您可以通过创建支持 xml 或 json 响应的控制器轻松创建对 API 的支持,这将有助于丰富的用户界面,使用 jquery、extjs 等框架,并准备好使用相同的 API 支持移动设备.

于 2012-04-26T17:56:07.410 回答
0

我不喜欢 Microsoft MVC - 但这只是我。

MVC 是一种模式,而不是一种技术,因此您可以随心所欲地实现它。

如果您不想学习 Microsoft 的 MVC 实现,您可能会考虑做一些事情,仍然使用 WebForms,但是使用 MVC 样式来开发您的应用程序是这样的:

VIEW:ASP.NET 页面(无服务器端控件)builds页面

控制器:jQuery / Javascriptcalls通用处理程序文件 (ASHX) 和returnsJSON

模型:ASHXcalls模型(您的自定义类)

这样,您使用的是 MVC 模式,但您不会被微软的实现所束缚,现在,您可以使用相同的控制器开发网站和移动应用程序,因为您的控制器级别是通过 ASHX 文件公开的.

希望这是有道理的。

您显然必须处理安全性和访问您的 ASHX 文件等。

于 2012-04-26T18:02:59.453 回答
0

大约一年前我遇到过你的情况,得出的结论和你一样。

更进一步,我意识到我什至不需要 aspx 页面:只需使用母版页构建 HTML5 页面,该母版页使用文字(我使用的唯一 asp.net 控件)在页面加载时注入 json 数据,然后使用 WCF 实现使用 jquery ajax 来回传输数据的面向服务的体系结构。

于 2012-04-26T18:00:44.147 回答
0

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

  • 确保您可以在 HTML/JS 中完成所有前端
  • 如果您在浏览器之外有数据源,则至少需要与“服务器端”进行通信,无论它可能是什么。这与“服务器控件”无关
  • 验证/安全 - 你不能在客户端做所有这些。客户端的所有内容都可以查看/篡改
  • 正如已经回答的那样,MVC不需要控件 - 只是澄清您可以在 ASP.Net MVC 中使用控件。核心概念是其所有的 ASP.Net,您可以随意混合/匹配 - 甚至是语言(VB.Net、C#)

Web 表单仍然占有一席之地,并且没有什么会阻碍 jQuery 或其他任何东西。

“慢”取决于很多事情。我根本不会责怪 Web 表单(技术)无论采用什么技术,都会发生代码错误。

于 2012-04-26T18:05:08.190 回答