今天我有一个包含我的菜单的主页......每个aspx都使用那个主页...每次我点击一个项目菜单,都会加载一个新的aspx ......工作正常......
但是现在我想在屏幕上保持菜单(Iframe?)并且只更改内容......
如何实现这一目标的最佳途径?
我使用Web窗体,ASP .NET 4.0。
由于
答案 0 :(得分:1)
有两种主要方式让人想起:
这两个都有缺点,如果我是你,我会认真考虑你是否真的需要以这种根本的方式改变你网站的导航。如果您只想在母版页中使用某些控件来维持其在点击之间的状态,则还有其他方法可以对其进行管理。
在这两种情况下,请记住,如果您希望用户能够与您提供的内容共享或标记直接URI,则必须为他们编写一种方法来执行此操作。您还可能会影响搜索引擎对页面进行排名和索引的方式。
AJAX解决方案将为您提供更大的灵活性,并且可能看起来更好,但您将遇到(例如)“后退”按钮的问题。 iframe的想法可能导致客户端出现奇怪的行为(例如内容滚动独立于页面的其余部分),许多浏览器的XSS安全功能将阻止您跨框架边界使用任何JavaScript。
总的来说,我认为在大多数情况下,AJAX方法可能比iframe更好,但是如果你能逃脱标准的点击导航页面导航,我就会使用它。