C# Asp.net站点地图节点导航不会导致回发
工作原理 我有两个页面PageA.aspx和PageB.aspx,还有一个dashboard.aspx。从仪表板,我们可以访问PageA和PageB。从这些页面导航回仪表板时,我们使用站点地图节点 PageA站点地图为“Dashboard>PageA”,PageB站点地图为“Dashboard>PageB”。我单击Dashboard导航到Dashboard.aspx 条件 在PageA.aspx中,我有一个单选按钮(x和y)和一个提交按钮。我的条件是,当我选择y单选按钮并单击提交时,我应该被重定向到PageB.aspx,并且PageB.aspx中的站点地图节点应该重命名为“Dashboard>ConditionX”。但是如果我直接从dashboard.aspx导航到PageB.aspx,那么站点地图节点应该是“dashboard>PageB” 我到目前为止所做的事情 在PageA.aspx submit click中,我选中单选按钮选择并设置会话C# Asp.net站点地图节点导航不会导致回发,c#,asp.net,postback,sitemap,C#,Asp.net,Postback,Sitemap,工作原理 我有两个页面PageA.aspx和PageB.aspx,还有一个dashboard.aspx。从仪表板,我们可以访问PageA和PageB。从这些页面导航回仪表板时,我们使用站点地图节点 PageA站点地图为“Dashboard>PageA”,PageB站点地图为“Dashboard>PageB”。我单击Dashboard导航到Dashboard.aspx 条件 在PageA.aspx中,我有一个单选按钮(x和y)和一个提交按钮。我的条件是,当我选择y单选按钮并单击提交时,我应该被重定
session[“IsCondition”]=true
,然后使用Response.Redirect(“~/PageB.aspx”)
导航到PageB.aspx
在PageB.aspx的Page\u Load()
中,我检查会话
if (Session["IsCondition"] != null && Convert.ToBoolean(Session["IsCondition"]))
{
//My code here if condition is satisfied
SiteMap.Provider.CurrentNode.ReadOnly = false;
SiteMap.CurrentNode.Title = "ConditionX";
SiteMap.Provider.CurrentNode.ReadOnly = true;
}
else
{
//My code here if I was directly accessing from Dashboard
SiteMap.Provider.CurrentNode.ReadOnly = false;
SiteMap.CurrentNode.Title = "PageB";
SiteMap.Provider.CurrentNode.ReadOnly = true;
}
此外,在dashboard.aspxPage_Load()
中,我已将会话[“IsCondition”]=null设置为
问题
当我使用PageA.aspx中的submit按钮重定向到PageB.aspx时,PageB.aspx中的条件工作是正确的,站点地图显示为“Dashboard>ConditionX”。在此页面中,如果我单击站点地图中的Dashboard节点,Dashboard.aspx页面的page\u Load
不会被触发,即使我被导航到Dashboard。由于没有从仪表板页面清除会话值,因此单击PageB.aspx将加载PageB,条件不是我想要的
问题
为什么仪表板没有被解雇?
我做错了什么?
正在缓存和显示的仪表板页面是否未触发页面加载?Response.Cache.SetNoStore()
在母版页页面加载()
中解决了该问题