在.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的aspx文件,而不是html。
在你的页面中,要重新引用它,你可以这样做:
<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个。
- 在页面响应中发出上述
<script>
(可能使用<asp:ContentPlaceHolder />
) - 创建一个Web服务(甚至可以是一个简单的.ashx),返回
var username = ...
或更好的返回json
是的,只需制作一个包含Javascript的常规网页就可以了。
然而,它的行为可能与您预期的不一样。Javascript文件的缓存时间比页面长。由于浏览器可能不会每次都从服务器请求该文件,因此不会在每次使用该文件时执行您的can。
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 在asp.net中确认是或否消息
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- asp.net中的验证工具