我已经编写了代码来启用和禁用内容页上的母版页上的超链接。在调用DisableHyperlinkInMasterPage
方法之后,一切都运行正常,并且超链接也被禁用。当我调用EnableHyperlinkInMasterPage
方法时,超链接仍然不起作用。如果我们离开那个页面,我发现超链接开始工作了。我的问题是在调用EnableHyperlinkInMasterPage
方法之后,在没有离开页面的情况下,超级链接仍然被禁用并且不工作,并且在离开页面之后它被启用。请帮助我,我如何解决这个问题。我调试代码,没有发现任何错误的EnableHyperlinkInMasterPage
方法。
private void DisableHyperlinkInMasterPage()
{
AssociateMaster mymaster = (AssociateMaster)Page.Master;
HyperLink home = (HyperLink)mymaster.FindControl("Home");
home.Enabled = false;
HyperLink profile = (HyperLink)mymaster.FindControl("ProfileLink");
profile.Enabled = false;
HyperLink report = (HyperLink)mymaster.FindControl("Report");
report.Enabled = false;
HyperLink signout = (HyperLink)mymaster.FindControl("SignOut");
signout.Enabled = false;
}
private void EnableHyperlinkInMasterPage()
{
AssociateMaster mymaster = (AssociateMaster)Page.Master;
HyperLink home = (HyperLink)mymaster.FindControl("Home");
home.Enabled = true;
HyperLink profile = (HyperLink)mymaster.FindControl("ProfileLink");
profile.Enabled = true;
HyperLink report = (HyperLink)mymaster.FindControl("Report");
report.Enabled = true;
HyperLink signout = (HyperLink)mymaster.FindControl("SignOut");
signout.Enabled = true;
}
发布于 2012-08-28 06:22:31
尝试使用属性启用和禁用链接。尽量少使用FindControl。假设您的MasterPage中有一个名为lnkTest的链接。在母版页中编写以下代码:
public bool TestLinkEnabled
{
get { return lnkTest.Enabled; }
set {lnkTest.Enabled = value; }
}
然后在您的内容页面中添加下面这一行:
<%@ MasterType VirtualPath="~/MasterPage.master" %>
使用以下命令启用和禁用此链接:
Master.TestLinkEnabled = true;
Master.TestLinkEnabled = false;
https://stackoverflow.com/questions/12153402
复制相似问题