是否有可能用某些c#变量创建一个JavaScript文件?类似这样的:在javasciprt文件中访问c#变量.js
var foo = <%= CODE_VALUE.foo %>;
或者我必须在usercontrol.ascx中创建它们,我将其包含在该部分中?
谢谢
是否有可能用某些c#变量创建一个JavaScript文件?类似这样的:在javasciprt文件中访问c#变量.js
var foo = <%= CODE_VALUE.foo %>;
或者我必须在usercontrol.ascx中创建它们,我将其包含在该部分中?
谢谢
您不能在.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
我喜欢这个!为什么我从来没有想过这样做!? – 2012-04-26 13:04:52
@SimoN我删除了没有声音的有线... :)我的意思是说这个想法并不是那么重要,因为你很年轻,你有时间去发现它们。重要的是要开放的心态,并与你的生活快乐:) – Aristos 2012-04-26 13:26:54
没问题,我不是那种会因为你说我年轻而生气的人;)我是,但我仍然有5网页年后,所以我认为它不是很差:) – 2012-04-26 13:28:33
不,您不能在.js文件中使用服务器端标记。 而是在需要它们的页面/控件上创建变量。
Javascript文件是静态文件,并且静态地由Web服务器提供服务,而不用ASP.NET处理它们。
所以如果你真的想要插入这个值,你可以创建一个空的.aspx页面并在其中包含所有的javascript,然后在script src
中包含.aspx页面。
但我可能更愿意有一个Web服务,而不是每次需要接收该值时使用的JavaScript方法。
如果你尝试了,你会发现,这确实是可能的。 – 2012-04-26 10:41:25
@GrahamClark好的,事实并非如此。无论如何,不要在.js文件中,除非您重新配置IIS以使用ASP.NET处理.js文件。这将是一个可怕的想法。 – 2012-04-26 10:43:12
@Shedal,道歉啊,我没有看到“javascript文件”位。没关系! – 2012-04-26 10:44:46