我无法找到有关此主题的文档,可能是因为我不知道解释它的正确方法。请查看以下简化代码:
<html>
<script type="text/javascript">
$(function () {
<% if (Page.IsPostBack == true) { %>
alert("PAGE IS POSTBACK");
<% } else { %>
alert("PAGE IS NOT A POSTBACK");
<%} %>
});
</script>
</html>
这完美无缺,但是我想将此代码放在我的代码隐藏页面上,这样我就可以根据我的方法返回来进行数据库调用并更改jquery。如上所示,内联代码是否有替代代码?
答案 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>