gpt4 book ai didi

c# - IsPostBack 始终返回 false

转载 作者:太空狗 更新时间:2023-10-30 00:04:18 24 4
gpt4 key购买 nike

每次我在 PageLoad() 中测试 IsPostBack 时,无论发布数据是否存在,都会返回 false。我的第一 react 是检查表单或提交按钮中是否缺少 runat="server"标记。但是,它们都已添加并且 WriteEmail.aspx 页面仍然始终为 IsPostBack 返回 false。我还尝试使用 IsCrossPagePostBack 代替 IsPostBack。

ListInstructors.aspx:

<form runat="server" method="post" action="WriteEmail.aspx">
...
<input type="submit" id="writeEmail" value="Write Email" runat="server" />
</form>

写邮件.aspx:

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Redirect("ListInstructors.aspx");
}
}

最佳答案

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

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

相反,将用于发送消息的代码放在单独的类中,如果需要,将类放在 App_Code 文件夹中。同时将提交按钮更改为 <asp:button ... />然后你可以将它称为来自服务器的按钮的 Click 事件的代码,永远不要离开你的 ListInstructors.aspx页面。


回应您的评论:否。来自 MSDN :

... make a cross-page request by assigning a page URL to the PostBackUrl property of a button control that implements the IButtonControl interface.

关于c# - IsPostBack 始终返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/912888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com