正在JS文件中注册用于事件验证的脚本

Registering script for event validation from within the JS file

本文关键字:事件 验证 脚本 用于 注册 JS 文件 正在      更新时间:2023-09-26

这里只是一个快速问题。我正在尝试注册一个js文件,以便使用进行脚本验证

if (!Page.ClientScript.IsClientScriptBlockRegistered("strIncludeJSFile")) Page.ClientScript.RegisterClientScriptBlock(strIncludeJSFile.GetType(), "strIncludeJSFile", strIncludeJSFile);

代码,并且它对js文件运行良好。但是,有些js文件在多个页面中使用,所以我不确定上面的代码是否是个好主意。因此,我想在js文件本身中做同样的事情,而不是使用后面的代码。有可能那样做吗?或者这是C#特有的东西?

当然,您可以使用script标记从html注册js文件(或脚本块)。然而,RegisterClientScriptBlock存在的主要原因是,开发人员可能需要从代码背后动态生成(或修改)脚本块,或者有条件地动态注册脚本文件。

如果您需要以上任何一项。。。动态生成一个脚本块,然后你"可能"最好从代码后面注册它,我的意思是,这取决于整个解决方案本身,如果没有一些上下文,很难推荐一种方法。无论哪种方式,一些选项是:

  1. 如果需要根据某些只能从服务器端代码评估的条件生成,请从代码隐藏中注册脚本块
  2. 为了更好地使用母版页,并从母版页注册脚本块。如果您将逻辑保持在一个位置,这将使维护更容易
  3. 与上面的选项类似,如果不能使用母版页,则可以使用基类
  4. 如果需要引用静态js文件,请使用htmlscript元素
  5. 使用js变量等占位符,并使用ajax从服务器获取动态数据
  6. 使用不引人注目的javascript、自定义数据属性和ajax

无论合适的选项是什么,都取决于您必须评估的太多因素