0

我有一个带有下拉菜单的网页。菜单中的一项是“产品”,它带有 2 个子项(供应商和参数)的下拉菜单,每个下拉菜单都显示进一步的菜单项(即分别为供应商列表和参数列表)。当我从第 3 级选择一个项目时,我会重定向到 catalogue.aspx,其中供应商或参数作为查询字符串传递。菜单是用 JQuery 编写的,链接是标准的 html 超链接,它们只是指向 catalogue.aspx。

在 catalogue.aspx 中,为选定的供应商或参数检索产品列表。在 Page_Load 方法的顶部,我放置了一个断点(在 Page_Load 的第一行)。当我第一次加载目录时,我的断点被击中,产品列表被检索并显示。但是,如果我只是点击刷新,或者尝试查看不同的供应商,则不会点击断点,并且再次显示相同的产品。如果我查看 URL,新选择的供应商会显示在查询字符串中。选择另一个供应商,仍然没有断点命中,仍然显示原始产品。一段时间后,供应商和参数多次更改,断点终于被击中并返回正确的产品,但只有一次,然后又停止了。

就代码而言,如上所述,它是一个链接到 catalogue.aspx(无回发)的标准 html 超链接,以及 page_load 方法顶部的断点。

谁能告诉我什么可能导致我的页面出现这种随机的白痴?

编辑:根据要求,一些代码:

链接:

<a href='http://localhost:45745/Website/catalogue/catalogue.aspx?searchby=supplier&searchterm=PMA Service&pid=25&title=Catalogue - PMA Service'>PMA Service</a>

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
var i = 0;
...
}

断点在 var i = 0 的那一行,我还在母版页和母版基页的 page_load 中放置了断点。然而,两者都没有被击中,所以它几乎就像页面没有调试一样,但是这个问题也发生在我放在我的服务器上的测试站点上。

4

1 回答 1

1

我现在似乎已经修复了它,而且看起来它确实归结为缓存。

我将以下内容放在 catalogue.aspx 的 page_load 中

Response.Cache.SetCacheability(HttpCacheability.NoCache);

现在,每次我选择另一个供应商或参数时,它都会遇到断点并加载正确的产品。

这有点奇怪,因为相同的代码实际上用于多个网站,域决定显示哪个布局/配色方案/内容。我没有遇到已经使用此代码的其他 3 个网站的问题,只是在将这个特定网站升级到新代码时它被破坏了。

感谢所有的回复。

于 2013-08-13T11:51:03.687 回答