我正在构建具有一些资源的ASP服务器控件。其中一个是.js文件,我必须从我的ServerControl.cs文件中传递一个变量。
我知道如何在我的资源样式文件和javascript文件中获取资源图像:
var resourceOpen = "<%=WebResource("PatientList.Images.DirOpen.png")%>" ;
var resourceClose = "<%=WebResource("PatientList.Images.DirClose.png")%>";
background: url('<%=WebResource("PatientList.Images.letter-bg.png")%>');
我想在我的服务器控件.cs文件中对我的公共变量做同样的事情 假设我已经
了public string TestVariable = "It works"
如何将其传递给我的资源中的javascript文件?
var jsvariable = "<%=TestVariable%>"
不起作用。似乎只有WebResource(...)可以工作。当我尝试使用变量时,当我做这样的事情时:
alert("<%=TestVariable%>");
包含字符串“&lt;%= TestVariable%&gt;”的窗口将出现而不是“它的作品”
答案 0 :(得分:1)
也许我没有正确理解你的问题,但是你有一个引用外部JavaScript文件的服务器控件,但是在外部文件中你要使用控件上的属性。
如果这就是你所要求的,那么我担心如果不编写自定义处理程序或类似的东西是不可能的。您可以看到,客户端从您的控制执行中单独请求外部JavaScript文件。在服务器提供JavaScript文件时,控件很久就被破坏了。
以下是发生的事情:
如您所见,有两个请求进入(步骤1和步骤5)。在第二个请求中,对于javascript文件,您不再拥有可用属性的控件(在步骤1中)。
我能想到的唯一方法是使用自定义处理程序来提供javascript。这样,您可以将任何变量作为查询字符串值传递,并让自定义处理程序将它们插入到您的java脚本中。
我希望这能回答你的问题。