是否可以使用一些C#变量创建一个javascript文件?像这样:
var foo = <%= CODE_VALUE.foo %>;
或者我是否必须在{cn}中包含的usercontrol.ascx中创建它们?
答案 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调用。