0

我无法找到有关此主题的文档,可能是因为我不知道解释它的正确方法。请看下面的简化代码:

<html>
    <script type="text/javascript">

        $(function () {

            <% if (Page.IsPostBack == true) { %>
            alert("PAGE IS POSTBACK");
            <% } else { %>
            alert("PAGE IS NOT A POSTBACK");
            <%} %>

        });
    </script>
</html>

这非常有效,但我想将此代码放在我的代码隐藏页面上,以便我进行数据库调用并根据我的方法返回的内容更改 jquery。如上所示,是否有代码隐藏替代内联代码?

4

1 回答 1

1

如果你想调用从 aspx 页面获取代码的值,你可以创建一个公共属性并使用<%= xxxx %>-

<asp:Button runat="server" ID="Button1" OnClick="Button1_Click" />
<script type="text/javascript" 
  src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        if ("<%= PageIsPostBack  %>" == "True") {
            alert("PAGE IS POSTBACK");
        } else {
            alert("PAGE IS NOT A POSTBACK");
        }
    });
</script>

public partial class _Default : System.Web.UI.Page
{
    public bool PageIsPostBack
    {
        get { return Page.IsPostBack; }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {

    }
}

注意:对于Page.IsPostBack,您甚至可以像这样在没有公共属性的情况下从 aspx 访问 -

<script type="text/javascript">
    $(function () {
        if (<%= Page.IsPostBack.ToString().ToLower() %>") {
            alert("PAGE IS POSTBACK");
        } else {
            alert("PAGE IS NOT A POSTBACK");
        }
    });
</script>
于 2013-09-04T19:03:43.427 回答