我将我的 script.js 放入文件夹脚本中。我想在那个脚本中管理一些来自 Web 窗体(例如<%= myString = 3 %>
)的 C# 变量。
我认为这是不可能的,但也许我可以以某种方式做到这一点?谢谢
我将我的 script.js 放入文件夹脚本中。我想在那个脚本中管理一些来自 Web 窗体(例如<%= myString = 3 %>
)的 C# 变量。
我认为这是不可能的,但也许我可以以某种方式做到这一点?谢谢
如果变量与页面上的特定元素直接相关,那么您绝对应该考虑使用 HTML5data-*
属性来存储值。想象一下变量与锚元素有关,您可以像这样输出:
<a href="something" id="myLink" data-my-var="5">Blah</a>
然后,您可以像这样使用 jQuery 访问变量$("#myLink").data("myVar")
(注意骆驼案例)。jQuery 将尝试将值转换为正确的类型。如果你想要原始值,那么只需使用attr
像这样的 jQuery 方法$("#myLink").attr("data-my-var")
(注意属性名称没有改变)。
或者,您可以在服务器端代码中执行以下操作以输出到您的页面:
<script type="text/javascript">
var myVar = <%= someVariableToOutput %>;
</script>
只要此代码在您的依赖脚本上方输出,就可以像使用任何其他 JS 变量一样访问它。
最后,您可以在页面加载时执行 AJAX 请求并以这种方式获取变量(尽管如果数据仅在主请求期间可用,这可能不适用)
希望有帮助
Javascript 是客户端执行的代码,C# 是服务器端执行的代码。因此,您不能严格地使“变量”可见,因为它们是两个完全不同的代码平台/运行时,在两台不同的计算机上运行。但是,您仍然可以通过几种不同的方式编组它们之间的数据。
第二个例子(既然你问了):
<!-- Somewhere in your page -->
<span style="visibility:hidden" id="myData"><%= myString %></span>
// In Javascript, using jQuery:
var myData = $('#myData').text();