ASP.NET按钮单击导致回发*和*“GET” - 为什么?

时间:2012-01-25 13:57:46

标签: asp.net button

我的代码似乎无法解释。有几页在我们的Web应用程序中进行了一些数据维护(VB.net代码隐藏)。一个按预期工作,另一个有问题。

他们都有一个Ajax选项卡容器来分组数据的适当部分。当我点击“保存”按钮时,我希望页面记住活动标签的内容。在第一页,没有问题。我得到回发,浏览Page_Load,一切都按预期工作。

出于某种原因,在第二页上,当我单击“保存”按钮时,其定义与第一页上的完全相同,我得到了我期望的“POST”(Request.RequestType =“POST”)但是然后Page_Load因为Page.IsPostback为“False”而被解雇(Request.RequestType =“GET”) - 就像我刚刚点击页面一样。

按钮标记很简单,唯一的区别是一个在表中而第二个在它自己的<div>中 :

<asp:TableCell ColumnSpan="2" HorizontalAlign="Center">
    <asp:Button ID="btnSave" runat="server" Text="Save" Width="2in" />
</asp:TableCell>

<center>
    <asp:Button ID="btnSave" runat="server" Text="Save"  Width="4in" Height="0.33in" />
</center>

页面顶部的标记是相同的 - 只需将AutoEventWireup和EnableEventValidation所需的属性设置为“False”,将MaintainScrollPositionOnPostback设置为“True”。

我无法理解为什么这两页给我这样的差异结果。由于.aspx标记非常相似,因此很容易发现任何差异。我怎么能弄清楚这个幽灵“GET”来自哪里?

0 个答案:

没有答案