我有一个带有下拉菜单的网页。菜单中的一项是“产品”,其下拉有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中放置了断点。然而,它们都没有被击中所以它几乎就像页面没有调试一样,但是这个问题也发生在我放在我的服务器上的测试网站上。
答案 0 :(得分:1)
我现在似乎已经解决了这个问题,看起来似乎已经解决了缓存问题。
我将以下内容放在catalogue.aspx的page_load中
Response.Cache.SetCacheability(HttpCacheability.NoCache);
现在,每次我选择其他供应商或参数时,它都会触及断点并加载正确的产品。
它有点奇怪,因为相同的代码实际上用于多个网站,域确定显示哪个布局/配色方案/内容。我没有遇到已经使用此代码的其他3个网站的问题,只是在将此特定网站升级到新代码时才会破坏它。
感谢所有回复。