【问题标题】:How to avoid refreshing of masterpage while navigating in site?如何避免在站点导航时刷新母版页?
【发布时间】:2012-06-20 03:03:27
【问题描述】:

在我的网站中,我创建了一个母版页并将我的所有页面附加到它上面。 我的母版页结构包含页眉和页脚。在左侧它有一个树视图控件,我已将其附加到我的所有页面,在右侧有一个 contentplaceholder 来显示各个页面的内容。

我的问题是,当我单击树视图中的任何链接时,它会刷新整个母版页并打开相应的页面。我希望避免这种刷新。意味着它应该在右侧 contentplaceholder 上显示页面内容而不刷新整个页面。

我看到有人建议使用 iframe。但是对于使用 iframe,我将不得不重组我的网站。除了 iframe 之外,还有其他解决方案吗?对我所做的工作所做的改动很少?

【问题讨论】:

  • 你得到这个问题的解决方案了吗??如果是,你能告诉我吗???

标签: asp.net master-pages


【解决方案1】:

您可能希望考虑使用 AJAX 来阻止这种情况的发生。您将需要阅读有关使用 UpdatePanel 的信息。以下是一些很好的文章:

您还可以选择使用 jQuery 来处理 AJAX 调用。虽然在使用 AJAX 时我通常更喜欢使用 jQuery,但我不确定是否会在您的情况下使用它。如果您想了解它提供的内容,请查看以下链接:

【讨论】:

  • 您好 Abe 感谢您的回复。我想通过单击树视图中的链接在我的网站的一个页面之间移动到另一个页面,我想在那里停止刷新母版页。在我的页面中检索数据时,我已经在那里使用了 ajax。从一个页面移动到另一个页面时,我可以使用 ajax 停止刷新母版页吗?
【解决方案2】:

您可以将要更改的内容放在 asp:UpdatePanel 中,这样将是唯一重新绘制的内容(它在后台使用 AJAX):

http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx

【讨论】:

  • 嗨,杰克逊,谢谢您的回复。我想通过单击树视图中的链接在我的网站的一个页面之间移动到另一个页面,我想在那里停止刷新母版页。在我的页面中检索数据时,我已经在那里使用了 ajax。从一个页面移动到另一个页面时,我可以使用 ajax 停止刷新母版页吗?
【解决方案3】:

母版页类派生自 UserControl 类,母版页就像一个子控件。所以我们可以说母版页不是真正的页面,当页面加载时,我们可以注意到地址栏中的导航 URL 是内容页的而不是母版页!所以我们不能在不刷新母版页的情况下刷新内容页面。

有一种方法可以避免页面闪烁,方法是在母版页的

部分添加代码。
<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)"/>

<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    相关资源
    最近更新 更多