Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET项目中定义JavaScript全局变量的位置_C#_Asp.net_Function_Global Variables_Raphael - Fatal编程技术网

C# 在ASP.NET项目中定义JavaScript全局变量的位置

C# 在ASP.NET项目中定义JavaScript全局变量的位置,c#,asp.net,function,global-variables,raphael,C#,Asp.net,Function,Global Variables,Raphael,我正在ASP.NET中使用C#进行一个项目,并使用JavaScript库Raphael 我已经创建了一些圆,我想作为全局变量,以便在某些事件发生时能够修改它们的位置。我应该在哪里定义全局变量 另外,我有两个不同的.js文件和函数,我想从一个按钮调用一个函数 OnClientClick="return doSomething();" 我需要在那里提到文件名吗?您可以在标记内部定义全局变量,但在任何函数外部定义,例如在页面的标题部分;通过这种方式,您可以从页面的任何地方访问变量 函数名必须唯一

我正在ASP.NET中使用C#进行一个项目,并使用JavaScript库Raphael

我已经创建了一些圆,我想作为全局变量,以便在某些事件发生时能够修改它们的位置。我应该在哪里定义全局变量

另外,我有两个不同的.js文件和函数,我想从一个按钮调用一个函数

  OnClientClick="return doSomething();"

我需要在那里提到文件名吗?

您可以在标记内部定义全局变量,但在任何函数外部定义,例如在页面的标题部分;通过这种方式,您可以从页面的任何地方访问变量


函数名必须唯一,对于包含的js脚本也是如此,对于调用js函数,您的示例是正确的。

这是正确的。JavaScript是以自顶向下的方式(逐行)解析的。因此,将globals声明为页面头标记中的第一个js项(在其他js文件之前,至少在它们第一次使用之前声明)。我应该提到,在js中,真正的全局变量被认为是不好的做法。您应该考虑使用另一种方法,因为继续使用这种方法可能会导致代码混乱和难以维护。@JesseB您建议使用什么方法?关于全局变量,这里还有一个问题:基本上只需为您的方法/变量创建自己的命名空间。这样,如果您将项目扩展到另一个类似的地方,并且您发现自己想要使用已经使用过的名称的变量/函数,那么您的命名空间将保护您免受任何混淆。