首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IsPostBack始终返回false

IsPostBack始终返回false
EN

Stack Overflow用户
提问于 2009-05-26 21:35:08
回答 2查看 10.3K关注 0票数 4

每次我在PageLoad()中测试IsPostBack时,无论post数据是否存在,都会返回false。我的第一个反应是检查表单或提交按钮中是否缺少服务器“runat=”标记。但是,它们都已添加,对于IsPostBack,WriteEmail.aspx页面仍然总是返回false。我也尝试过用IsCrossPagePostBack代替IsPostBack。

ListInstructors.aspx:

代码语言:javascript
复制
<form runat="server" method="post" action="WriteEmail.aspx">
      ...
      <input type="submit" id="writeEmail" value="Write Email" runat="server" />
</form>

WriteEmail.aspx:

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Response.Redirect("ListInstructors.aspx");
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-26 21:38:26

回发!= Postback.回发是指您回发到同一页面。表单上的操作是发布到新页面。

看起来您所要做的就是使用WriteEmail.aspx页面发送一条消息,然后返回到刚才所在的位置。您甚至没有在那里显示用于收集文本的表单。这是一个非常..。经典的ASP-ish...处理事情的方式。

相反,将用于发送消息的代码放在单独的类中,如果需要,将类放在App_Code文件夹中。另外,将submit按钮更改为一个<asp:button ... />,然后您就可以将它称为您的按钮的服务器的Click事件中的代码,并且永远不会离开您的ListInstructors.aspx页面。

对你的评论的回应:不。来自MSDN

...通过将页面URL分配给实现IButtonControl接口的按钮控件的PostBackUrl属性来发出跨页请求。

票数 13
EN

Stack Overflow用户

发布于 2009-05-26 21:38:43

IsPostBack不是真的,因为表单不是从WriteEmail.aspx页面提交的;从同一页面提交表单会导致PostBack。如果表单是从WriteEmail.aspx页面提交的,那么它将是一个PostBack;实际上,它只是一个帖子。

您可能会发现此MSDN参考资料很有用:

http://msdn.microsoft.com/en-us/library/ms178141.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/912888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档