从extrnal Javascript文件中,我需要检查IsPostBack
(ASP.NET页面)。这是我在谷歌搜索后发现的:
var isPostBack = <%= Page.IsPostBack ? "true" : "false" %>;
但是<%=
%>
似乎在外部JS文件中无法识别。如果是这样,替代解决方案是什么?
答案 0 :(得分:3)
对于要处理的ASP代码,您需要有一个文件扩展名,该扩展名映射到IIS中的ASP dll。
此处最简单的情况是使用.js
扩展名重命名您的.aspx
文件,然后更改<script>
元素的src属性。
或者,在isPostBack
页面中全局创建aspx
变量,然后调用包含其用法的js
文件,例如:
<script type="text/javascript">
var isPostBack = <%= Page.IsPostBack ? "true" : "false" %>;
</script>
<script type="text/javascript" src="/js/myscript.js"></script> <!-- <- script that uses isPostBack -->
答案 1 :(得分:3)
您将无法从外部文件执行此操作。即使可以,外部文件也会缓存在客户端的浏览器上,并且每次都不会被拉出。您可以在页面中放置一个函数并从外部脚本中调用它。
外部脚本
if(isAPostBack)
{
//run code
}
ASPX页面(标题中的脚本)
var isAPostBack = <%= Page.IsPostBack %>;
只需确保在页面的上一行之后加载外部脚本。
答案 2 :(得分:0)
您不能在外部JavaScript文件中使用<%= %>
表示法;它不会起作用。
答案 3 :(得分:0)
这在Javascript文件中不起作用,因为服务器会像这样服务并且不会识别asp标签。但是,您可以从aspx文件执行此操作,它将起作用。您也可以使用Generic Handler。
祝你好运!答案 4 :(得分:0)
您只能通过页面上使用的aspx页面或用户控件或母版页呈现此variable
。