服务器控件ASP.NET中嵌入资源的.js文件中的C#变量
我正在构建我的ASP服务器控件,它有一些资源。其中一个是.js文件,我必须从ServerControl.cs文件中传递一个变量 例如,我知道如何在我的资源样式文件和javascript文件中获取资源图像,如下所示:服务器控件ASP.NET中嵌入资源的.js文件中的C#变量,c#,javascript,asp.net,variables,custom-server-controls,C#,Javascript,Asp.net,Variables,Custom Server Controls,我正在构建我的ASP服务器控件,它有一些资源。其中一个是.js文件,我必须从ServerControl.cs文件中传递一个变量 例如,我知道如何在我的资源样式文件和javascript文件中获取资源图像,如下所示: var resourceOpen = "<%=WebResource("PatientList.Images.DirOpen.png")%>" ; var resourceClose = "<%=WebResource("PatientList.Images.Di
var resourceOpen = "<%=WebResource("PatientList.Images.DirOpen.png")%>" ;
var resourceClose = "<%=WebResource("PatientList.Images.DirClose.png")%>";
background: url('<%=WebResource("PatientList.Images.letter-bg.png")%>');
alert("<%=TestVariable%>");
如何将其传递到我的参考资料中的javascript文件
var jsvariable = "<%=TestVariable%>"
var jsvariable=“”
不起作用。似乎只有WebResource(…)起作用。当我尝试使用变量时,当我做这样的事情时:
var resourceOpen = "<%=WebResource("PatientList.Images.DirOpen.png")%>" ;
var resourceClose = "<%=WebResource("PatientList.Images.DirClose.png")%>";
background: url('<%=WebResource("PatientList.Images.letter-bg.png")%>');
alert("<%=TestVariable%>");
警报(“”);
将显示带有字符串“”的窗口,而不是“It works”可能我没有正确理解您的问题,但您有一个引用外部JavaScript文件的服务器控件,但在外部文件中,您希望在该控件上使用属性 如果这就是你要问的,那么如果不编写自定义处理程序或类似的东西,恐怕是不可能的。您可以看到,外部JavaScript文件是由客户端从控件执行中单独请求的。在服务器提供JavaScript文件时,控件早已被破坏 下面是发生的情况:
我希望这能回答你的问题。它应该能起作用。。。除了明显的“你缺少分号”之外。如果您使用的是VS(和我一样),intellisense会显示变量。它可以工作,但不能在我的嵌入式资源javascript文件中工作。只有当我的代码中有单独的javascript和c#变量时,我才能将其保存到我的aspx文件中。但我想让服务器控件.dll文件包含所有内容。问题就出现在那里。这很奇怪,因为它在内部与WebResource(…)一起工作,但在其他方面似乎都失败了。啊,我明白了。也许你应该把这些值从主页上传递给你的javascript函数。如果你觉得WebResource工作很奇怪,因为DateTime.Now.ToString()不工作。谢谢你的回答。但我在服务器控件中嵌入了javascript文件作为一个资源,当我想从控件中获取其他资源(如我的问题中所示)时,我可以解析这个文件,我只需将PerformSubstitution=true添加到AssemblyInfo.cs文件中。所以,当我能够在加载前解析.js文件时,我不认为没有从c#代码中获取单个变量的选项。但我只知道如何获取资源。。。变量不起作用:(您可以添加外部图像,因为它们是常量。从原始帖子中,您可以引用“PatientList.images.letter bg.png”,因为此文件是硬编译到程序集中的,因此始终存在。局部变量“TestVariable”的值仅在填充它的特定请求中可用。实际获取JavaScript文件内容的后续请求不再具有该变量。