【问题标题】:What does the UnobtrusiveJavaScriptEnabled key do in .NET?UnobtrusiveJavaScriptEnabled 键在 .NET 中的作用是什么?
【发布时间】:2015-07-29 15:23:35
【问题描述】:

我很熟悉 unobtrusive Javascript 作为一种模式,但我很好奇它对 .NET 框架意味着什么。

作为前端开发人员,我正在开发一个在后端使用 .NET 的项目。在与开发人员(也管理服务器)合作时,他提到我们的项目必须将 UnobtrusiveJavaScript 设置为 false。也就是项目的web.config应该有以下内容:

<appSettings>
  ...
  <add key="UnobtrusiveJavaScriptEnabled" value="false" />
</appSettings>

我的第一反应是这是不好的做法,但是当我进一步思考时,我意识到我真的不明白为什么 .NET 甚至会在项目级别开始设置这样的设置,或者是否甚至对我们的特定项目也很重要。

【问题讨论】:

  • 开发者有没有提到为什么要设置为false?
  • @JamieD77 没有明确表示,但服务器上有遗留应用程序,后端有共享资源。我认为这些其他应用程序的前端需要将UnobtrusiveJavaScriptEnabled 设置为false 才能工作,而其他开发人员要求以相同的方式设置新项目,以便它们可以共存。
  • 根据我的经验,此设置仅阻止了功能,并未启用功能。如果您不打算使用 @Ajax.BeginForm@Ajax.ActionLink 之类的东西,可以使用标准 $.ajax 来实现,那么我不会太担心。
  • 既然它在项目配置中,我会说它不会给其他项目带来问题。我也很确定它默认为false。您还可以逐个控制器启用该功能bradwilson.typepad.com/blog/2010/10/…

标签: javascript .net asp.net-mvc web-config


【解决方案1】:

来自here

Brad Wilson 在他的帖子Unobtrusive Client Validation in ASP.NET MVC 3 中解释了该设置的目的。简而言之 - 关闭此设置后,客户端验证正在使用 Microsoft javascript 库执行(与在 ASP.NET MVC 1 和 2 中执行的方式相同)。否则(打开设置)使用 JQuery Validate 执行客户端验证。

换句话说,您的应用程序可能包含依赖于执行验证的 Microsoft JavaScript 库的代码。

【讨论】:

  • 嗨! MVC5 项目是否仍需要此应用设置?
  • 仅当您对旧的 Microsoft JavaScript 库有一些遗留依赖时才需要该设置。如果未显式设置该设置,则默认值为true,表示使用(现代)JQuery Validate 库。对于新项目,您永远不需要触摸此设置。
猜你喜欢
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 2020-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
相关资源
最近更新 更多