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

问题描述 投票:4回答:3

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

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

或者我是否必须在<head>部分中包含的usercontrol.ascx中创建它们?

c# javascript asp.net
3个回答
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


0
投票

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.