我需要使用 C# 和 ASP.Net 构建一个非常轻量级的 Ajax 引擎。你有啥建议?

Posted

技术标签:

【中文标题】我需要使用 C# 和 ASP.Net 构建一个非常轻量级的 Ajax 引擎。你有啥建议?【英文标题】:I need to build a very light weight Ajax Engine using C# and ASP.Net. What do you suggest?我需要使用 C# 和 ASP.Net 构建一个非常轻量级的 Ajax 引擎。你有什么建议? 【发布时间】:2010-10-13 20:53:14 【问题描述】:

我之前为我的一个项目创建了一个快速的 Ajax 框架。这是一个 ASP.Net 网站 (C#)。没有很多 Ajax 类型的函数,所以我只是创建了一个新页面,其中没有任何内容,并且在文件后面的代码中,我将一些代码放在 Page_Load 方法中,该方法将在请求中查找操作,然后调用适当的方法。

我再次处于相同的场景中,我发现我很想再次这样做。 我让用户创建一个新的住宿。属于住宿的两个字段是住宿类型和面积。这两个字段都由用户维护,因此他们可以在其他页面上对这两个字段进行 CRUD。我在想,如果该地区或住宿类型尚不存在,则必须转到另一个页面会很烦人。因此,我想给他们添加新区域和在同一表格上添加新住宿类型的功能。所以我有住宿类型的复选框,当他们单击新建时,我向他们显示一个文本框,他们输入值并单击添加。它对数据库进行 Ajax 调用以添加值,然后如果成功,则会出现一个新的复选框,否则会出现错误消息。除了我将使用下拉列表之外,区域非常相似。

不过这次我也使用了一些 jQuery。我对 jQuery 的 Ajax 库还不太熟悉。我的问题是,“有没有...

    更好 更简单 更智能 更可扩展 以上所有

这样做的方法。”如果可以,请您指出正确的方向。

【问题讨论】:

使用内置的 ASP.Net Ajax 框架有什么问题? 我听说了一些关于它的负面消息。 【参考方案1】:

鉴于 VS2008 已经在 IDE 中内置了对 AJAX 的支持(以及即将推出的 jQuery 支持),我认为您会发现很难想出不仅是更好的用户 体验,但也是更好的开发人员体验。

Visual Studio 团队不仅投入了大量资源来使这项工作顺利进行,而且他们还知道如何将功能集成到 IDE 中,几乎可以肯定比您做得更好(我怀疑这样做的访问权限更多)。

如果您想这样做是为了好玩(或作为 MonoDevelop 的一部分,例如),这是有道理的 - 但从生产力的角度来看,我会坚持使用 Visual Studio。

【讨论】:

嗨乔恩。我目前正在使用VS2005。我已经购买了 VS 2008,但只是想在 ASP.Net MVC 正式发布后搬过去。但这听起来像是升级的理由。您是否知道任何向后兼容性问题。我主要有网站和 1 个网络应用程序。在此先感谢:D 我不知道,但这并不意味着当然不会成为。不过绝对值得升级,主要是因为你可以使用 LINQ 和 C# 3 :) 我只是部分同意这一点,我已经看到很多时间浪费在内置的东西上,要么是因为开发人员不太了解它,要么是 ajax 的某些部分存在问题 - 添加关于这个的答案 @uriDium,正如 Jon 所说,linq 和 c# 3 绝对值得升级 @Freddy:我强烈怀疑理解已经构建的东西比自己构建它需要更少的时间。如果您的同事不太了解 C#,您会给他们一本 C# 书籍还是为他们构建一门新语言?【参考方案2】:

我认为您不需要创建一个全新的 Ajax 框架。许多人已经将大量时间和精力投入到其他框架中,例如 Asp.net Ajax、jQuery 等。花一些时间来了解这些框架为您提供了什么以及如何使用它们。如果您仍然发现它们缺乏,几乎所有这些都可以扩展其已构建的功能。

【讨论】:

【参考方案3】:

我不会重复 Jon Skeet 所说的话,我相信还有 20 个人正在打字。但是,如果您决定自己推出,而不是使用空白的 ASPX 页面,请考虑创建自己的 Http Handler。在视觉工作室中,您可以创建自己的快速而肮脏的处理程序。它们的扩展名为 .ASHX。这样做的好处是避免了页面对象框架的开销。

【讨论】:

【参考方案4】:

根据我的经验,jQuery 是一个非常好的库,有很多社区支持。如果您在文档中找不到所需的内容,请查看 jQuery IRC 频道。我们有一个 Ajax 密集型应用程序,它在 jQuery 作为其核心框架上运行。我们对结果感到满意。如果您担心大小,Google 会托管 jQuery,以便您的客户可以在本地缓存它。

或者,您可能只想创建适当的 HttpHandler(s),以允许您的客户端代码调用服务器端资源,而无需传统 ASP.NET Page 类的开销。

Check out this article from MSDN

【讨论】:

以上是关于我需要使用 C# 和 ASP.Net 构建一个非常轻量级的 Ajax 引擎。你有啥建议?的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助 - 从 WebMethod (ASP.NET) C# 调用时,MasterPage 始终返回 null

在 Windows 上通过 Visual Studio C# 和 ASP.NET 使用 Compass

在 Crystal Report 和 ASP.NET C# 中使用子报表

如何使用 Angular 7 保持 AngularCLIServer 在 asp.net 核心上的构建之间运行

Blazor——Asp.net core的新前端框架

使用正则表达式的 ASP.NET C# 客户端和服务器端验证