代码之家  ›  专栏  ›  技术社区  ›  kevin

在ASP.NET上执行部分更新内容的最佳方法

  •  1
  • kevin  · 技术社区  · 15 年前

    最初,我计划对应用程序中的每个页面使用母版页。最后,我发现每次更改页面时,它都会重新加载整个页面,即使它有相同的母版页。我把框架集和母版页混淆了。然后,我有两个想法,通过不使用母版页来实现它。

    1. 使用iframe并将属性设置为runat server,这样我就可以在codebehind中更改页面。(我更喜欢在服务器端控制页面流)

    2. 使每个子页都成为用户控件。然后在codebehind中将其动态加载到面板。

    请给我一些建议,哪种方法在启用了Ajax的ASP.NET中是最好的,或者其他更好的方法。谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Daniel Dyson    15 年前

    母版页对于包含标题、版权文本和菜单等内容很有用,这些内容在网站中不会随页面的变化而变化。我不会放弃他们,否则你会后悔你去改变你的网站布局。

    要回答您的问题,如果您有Ajax,最好使用它。另外,考虑简单升级到ASP.NET MVC。它会让你的生活更轻松,并通过强迫你从视图的角度来考虑你的页面,从操作的角度来考虑数据插入,从而解决很多问题。

    母版页为页面包含的内容提供内容占位符。您可以在母版页中提供默认菜单,并在任何页面上覆盖它。

    菜单是一种特殊情况,根据您所在的页面,菜单经常会发生变化。如果此逻辑相对简单,则可以将菜单放入用户控件(ASP.NET)或视图(MVC)中,并允许控件/控制器确定要放入菜单中以供用户显示的数据。

    关于整页重新加载:如果您使用的是Ajax,则不会重新加载整页。此外,如果您使用的是MVC,那么由于没有视图状态,而且标记也要轻很多,因此完整的页面加载就不再是一个问题了。查看堆栈溢出的标记。我相信这是一个MVC网站。当然,如果可以避免的话,最好不要进行完整的页面加载,而Ajax能够做到这一点。我只是说,MVC使它不那么重要。

    推荐文章