繁体   English   中英

在.js文件中使用ASP.Net标签?

[英]Using ASP.Net tags in a .js file?

是否可以在javascript文件中嵌入<% ... %>标记并让它呈现相应的服务器端代码? 如何才能做到这一点?

这个过程实际上与你的想法相反。

您创建一个* .aspx页面,该页面呈现为JavaScript文件。 然后,您可以在<script>标记中引用* .aspx页面:

<script type="text/javascript" src="someJavaScript.aspx"></script>

是的,这是可能的,但它不是一个JS文件,它将是一个带有Javascript而不是html的aspx文件。

在你的页面中,为了引用它,你会做:

<script type="text/javascript" src="myPage.aspx"></script>

我将对你想要完成的事情做一些假设。 很可能你有一个javascript文件,需要访问服务器上的一些信息。 假设您需要一些来自会话的东西,如果它是一个aspx页面,你会让它看起来像

<script type="text/javascript">
var username = '<%= Session["username"] %>';
var account_num = '<%= Session["account_num"] %>';
</script>

显然这不会在.js文件中起作用,因为它永远不会经过页面生命周期,但是会处理一个aspx页面。 但是,您不需要像其他人可能建议的那样将整个.js文件转换为.aspx页面。 还有很多其他方法可以将这些数据公开给你的js代码。 我会列出2。

  1. 在页面响应中发出上述<script> (可能使用<asp:ContentPlaceHolder />
  2. 创建一个webservice(甚至可以是一个简单的.ashx),它返回var username = ...或者甚至更好地返回json

是的,只需制作一个包含Javascript的常规网页即可。

但是,它可能不会像您期望的那样。 Javascript文件的缓存时间比页面长。 由于浏览器可能不会每次都从服务器请求文件,因此每次使用该文件时都不会执行该文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM