最初我打算在我的应用程序中为每个页面使用母版页。最后,我发现每次页面都被更改,它重新加载整页,即使它有相同的母版页。我把框架集与母版页混淆了。然后,我有两个想法,通过不使用母版页来实现它。
使用iframe并将属性设置为runat服务器,以便我可以在我的代码隐藏中更改页面。(我更喜欢控制服务器端的页面流)
将每个子页面设置为用户控件。然后在代码隐藏中动态加载到面板。
请给我一些建议,哪些方法在启用AJAX的ASP.NET中最好,或者其他更好的方法。感谢。
答案 0 :(得分:1)
母版页用于包含标题,版权文本和菜单等内容,这些内容在网站内不会因页面而异。我不会放弃他们,或者当你去改变你的网站布局时你会后悔。
要回答你的问题,如果你有AJAX,那么很好用。另外,考虑简单升级到ASP.NET MVC。它将使您的生活变得更轻松,并通过迫使您根据视图和视图中的数据插入来考虑您的页面,从而解决您的大量问题。
母版页为页面包含的内容提供内容所在者。您可以在母版页中提供默认菜单,并在任何页面上覆盖它。
菜单是一种特殊情况,根据您所在的页面,它们经常会发生变化。如果这个逻辑相对简单,那么您可以将菜单放入UserControl(ASP.NET)或View(MVC)中,并允许控件/控制器确定将哪些数据放入菜单以显示给用户。
关于完整页面重新加载:如果您使用的是AJAX,则不会有整页重新加载。此外,如果您正在使用MVC,那么整页加载就不会成为问题,因为没有视图状态,并且标记要轻得多。查看Stack Overflow的标记。我相信它是一个MVC网站。当然,如果可以避免并且AJAX启用它,通常最好不要执行完整的页面加载。我只是说MVC不再是一个问题。