检查外部Javascript文件中的IsPostBack

时间:2012-02-03 20:03:58

标签: javascript asp.net postback

从extrnal Javascript文件中,我需要检查IsPostBack(ASP.NET页面)。这是我在谷歌搜索后发现的:

var isPostBack = <%= Page.IsPostBack ? "true" : "false" %>;

但是<%= %>似乎在外部JS文件中无法识别。如果是这样,替代解决方案是什么?

5 个答案:

答案 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