asp.net-mvc-3 - MVC 中什么取代了 ClientScriptManager?

标签 asp.net-mvc-3 clientscriptmanager

我正在将 ASP.NET Forms 应用程序(不是我编写的)转换为 MVC 3 应用程序。 ClientScriptManager 在旧应用程序中使用。 MVC 3 中不存在 ClientScriptManager。什么取代了 ClientScriptManager?我已经阅读了足够多的内容,知道 CSM 与 ASP.NET 中的 AJAX 功能有关;它注册 js 脚本和函数的“集”,有点类似于 EditorTemplates 对类似控件集的工作方式。我不一定希望在 MVC 中实现 CSM;我只是想知道 Microsoft 采取了哪些做法导致 CSM 过时。

最佳答案

ASP.Net MVC 旨在让您完全控制 HTML 和 js,而不是像 ASP.Net 那样让框架为您呈现这些内容。因此,没有什么可以真正“取代”ClientScriptManager。因此,如何处理 js 完全取决于你。

您可以做一些简单的事情,例如 include <script ...>标签来引用 _Layout.cshtml 中的内联脚本或 js 文件文件,或者您可以使用某种 JavaScript 加载器,例如 RequireJS或者完全使用“Html Helpers”或其他东西提出您自己的方案。

MVC 4 引入了 bundling 的概念它允许您将脚本集合定义为“包”,并在您在 View 中引用它们时让 MVC 自动缩小并将它们合并在一起,如下所示:

@Scripts.Render("~/bundles/jquery")

关于asp.net-mvc-3 - MVC 中什么取代了 ClientScriptManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15664193/

相关文章:

asp.net - URL 中存在 %0A 时的 IIS 7 错误请求响应

asp.net - 将 ValidationGroup 和客户端验证与 ASP.NET 自定义服务器控件结合使用

asp.net - 是否有在 <head> 标记内注册脚本的 System.Web.UI.ClientScriptManager 方法?

.net - 如何注册启动脚本?

c# - 格式化逻辑属于 MVC 的什么地方?

javascript - jQueryUI 的 blockUI 阻塞不当

asp.net-mvc-3 - MVC3 - 用按钮理解 POST

asp.net-mvc-3 - ASP.NET MVC 3、Razor View 和可移植区域