用 JQuery 替换 ASP.NET 中的 aspx 页面中引用的 MicrosoftAjax.js

Posted

技术标签:

【中文标题】用 JQuery 替换 ASP.NET 中的 aspx 页面中引用的 MicrosoftAjax.js【英文标题】:Replacing the MicrosoftAjax.js referenced in aspx pages in ASP.NET with JQuery 【发布时间】:2021-10-09 15:12:27 【问题描述】:

我的 ASP.NET 应用程序中的 html/JS .aspx 页面使用 MicrosoftAjax.js 文件,例如:

<script src="../../Scripts/MicrosoftAjax.js"></script>

考虑到 MicrosoftAjax.js 很旧,我想用 jQuery 替换 AJAX 文件并达到相同的目的。由于我对 JQuery 不太熟悉,因此我不太清楚这种更改会有多复杂及其影响。

我可以按照什么具体步骤来进行这些更改吗?

【问题讨论】:

可能非常复杂,具体取决于使用了多少 MS AJAX。听起来你应该离开它,TBH。它可以工作,顺便说一句,它不只是用于 XMLHTTP 类型的东西,MS AJAX 有多种用途,例如,ScriptManagers 和 UpdatePanels 使用它。 【参考方案1】:

JQuery 和 Microsoft Ajax 是两个不同的库,如果您使用其中一个,切换到另一个可能会很复杂,但这实际上取决于您使用它的程度。正如 wazz 所评论的,如果您使用的是更新面板,则不能仅将其与 jquery 一起使用。因此,如果您将它与任何 .NET 控件一起使用,您将希望找到替代方案,然后如果您有任何使用 ms ajax 的自定义 javascript,则必须弄清楚如何在 jquery 中重写它。

总体而言,如果您担心过时的技术,您最好将网站完全从网络表单中升级(如果这是您的选择),而不是尝试仅更新这一方面。

【讨论】:

【参考方案2】:

要满足这些要求,需要一项艰苦的工作:迁移此案例的最佳实践是创建一个新的 Visual Studio Web 窗体项目程序集,并逐个迁移 aspx 页面:对于每个 aspx 页面,您创建新项目中的新aspx,仅复制带有控件的区域(并且也遵循复制代码隐藏)。完成此步骤后,您需要将每个使用MicrosoftAjax.js 的javascript 逻辑例程替换为使用JQuery 库的例程。

【讨论】:

以上是关于用 JQuery 替换 ASP.NET 中的 aspx 页面中引用的 MicrosoftAjax.js的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 ASP.NET MVC 核心模板中的 Bower 替换

Asp.Net Routing - 用生成的 URL 中的破折号替换空格 %20 [重复]

ASP.Net jquery 文本框事件

ASP.NET MVC 中的 ASP.NET AJAX 与 jQuery

如何替换 jQuery DataTables 中的数据数组

ASP.NET 5 和 EF - 用 LINQ 替换子列表