我的代码似乎无法解释。有几页在我们的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”来自哪里?