0

在 ASP.NET 中,我们使用以下命令调用定义的 js 函数:

Page.ClientScript.RegisterStartupScript(GetType(), "", "JSFuncNameHere();", true);

我想知道:

  • 为什么没有任何方法,其名称如下: Page.ClientScript.CallJSScript("someJSFunc");
  • 为什么上层方法需要反射方法 GetType() ?在运行时没有定义一些东西,是吗?
  • 为什么我需要第二个参数key?正如我所测试的那样,我可以将其留空并调用现有的 JS 函数。
4

1 回答 1

1
  • 为什么没有任何方法,其名称如下: Page.ClientScript.CallJSScript("someJSFunc");

可能是因为这是更通用的解决方案,因为只需添加 2 个字符即可获得相同的结果,如果需要,您可以添加参数和其他任何内容。

  • 为什么上层方法需要反射方法 GetType() ?在运行时没有定义一些东西,是吗?
  • 为什么我需要第二个参数键?正如我所测试的那样,我可以将其留空并调用现有的 JS 函数。

由于这两个相同的原因 - 该方法将检测您是否多次运行相同的脚本,在这种情况下,只需调用一次。这两个参数是它识别重复项的方式——一个键是不够的,因为不同库中的另一个类可能使用相同的键——所以你需要传入你自己类的类型以确保脚本在你想要它。

于 2013-03-06T21:00:16.323 回答