代码隐藏与内联中的条件HTML

时间:2013-09-04 18:49:59

标签: jquery asp.net

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

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

        $(function () {

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

        });
    </script>
</html>

这完美无缺,但是我想将此代码放在我的代码隐藏页面上,这样我就可以根据我的方法返回来进行数据库调用并更改jquery。如上所示,内联代码是否有替代代码?

1 个答案:

答案 0 :(得分: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>