在javascript文件.js中访问C#变量

时间:2012-04-26 10:38:31

标签: c# javascript asp.net

是否可以使用一些C#变量创建一个javascript文件?像这样:

var foo =  <%= CODE_VALUE.foo %>;

或者我是否必须在{cn}中包含的usercontrol.ascx中创建它们?

3 个答案:

答案 0 :(得分:11)

您不能在.js文件中包含此代码,因为不是由asp.net编译的,因此不会将CODE_VALUE.foo转换为代码。

你可以做的是在加载你想要使用的.js文件之前放置这些变量,并在任何aspx或用户控件上设置它们。

例如

<script>
 var foo = <%=CODE_VALUE.foo%>;
<script>
<script type="text/javascript" src="fileToUseTheFoo.js">   
</script>

替代方案您可以创建一个读取javascript文件的处理程序,包含您的自定义变量并根据需要创建完整的JavaScript代码,并将其作为javascript发送。

一些亲戚:How to get asp.net client id at external javascript file

答案 1 :(得分:0)

不,你不能在.js文件中使用服务器端标签。 而是在您需要的页面/控件上创建变量。

答案 2 :(得分:0)

Javascript文件是静态文件,并且静态地由Web服务器提供,而不用ASP.NET处理它们。

因此,如果您确实要插入该值,则可以创建一个空的.aspx页面并在其中包含所有javascript,然后在script src中包含.aspx页面。

但我可能更喜欢使用Web服务,使用web方法,每次需要接收值时都可以通过javascript调用。