我有一个asp.net webforms aspx页面(预编码后面)。该页面在单击按钮时从SqlDataSource创建网格视图(在单击按钮之前,查询基于其他一些用户输入)。
如果我捕获按钮点击Fiddler中的http post请求,然后从Fiddler重新发送该请求,调试器将在Page_Load方法中断,但随后它将完全跳过button_onClick方法。我觉得这必须与某种方式的缓存有关,因为如果我修改该请求的一些用户输入,它仍将基于原始输入生成gridview。
如果这与缓存有关,那么为什么还会调用Page_Load方法呢?此外,为什么Fiddler发送的请求会使用最初从Chrome请求的缓存页面(我没想到会有像这样的共享缓存)。
显然,我在asp.net网页表单页面生命周期中遗漏了一些内容,所以有人可以解决一些问题吗?
-----编辑(添加按钮代码)----
<asp:Button ID="btnGo" runat="server" Text="Go" OnClick="btnGo_onClick" />
和处理程序:
protected void btnGo_onClick(object sender, EventArgs e)
{
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
}