【问题标题】:Best way to do partial update content on ASP.NET在 ASP.NET 上进行部分更新内容的最佳方式
【发布时间】:2010-04-15 08:15:03
【问题描述】:

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

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

  2. 让每个子页面都由用户控制。然后在代码隐藏中将其动态加载到面板。

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

【问题讨论】:

    标签: asp.net ajax asp.net-ajax


    【解决方案1】:

    母版页对于包含标题、版权文本和菜单等内容非常有用,这些内容在站点内的页面之间不会发生变化。我不会放弃它们,否则当您更改网站布局时您会后悔的。

    要回答您的问题,如果您有 AJAX,请很好地使用它。另外,考虑简单升级到 ASP.NET MVC。通过迫使您根据视图来考虑页面并根据操作来考虑数据插入,这将使您的生活变得更轻松并解决您的许多问题。

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

    菜单是一种特殊情况,它们经常根据您所在的页面而变化。如果这个逻辑相对简单,那么您可以将菜单放入 UserControl (ASP.NET) 或 View (MVC) 中,并允许控件/控制器确定将哪些数据放入菜单中以显示给用户。

    关于整页重新加载:如果您使用 AJAX,则不会有整页重新加载。此外,如果您使用的是 MVC,那么整个页面加载就不再是问题,因为没有视图状态并且标记要轻得多。查看 Stack Overflow 的标记。我相信它是一个 MVC 站点。当然,如果可以避免并且 AJAX 支持这一点,通常最好不要进行完整的页面加载。我只是说 MVC 使它不再是一个问题。

    【讨论】:

    • 是的,毫无疑问,母版页在处理跨页面的重复设计和数据时很有用。但这会导致整个页面重新加载,开销会更大。例如。我在母版页中有一个菜单,它将根据数据库中的数据动态构建。每次页面更改时,母版页都会导致菜单重建。
    • 母版页为页面包含的内容提供内容占位符。您可以在母版页中提供默认菜单并在您的任何页面上覆盖它。如果您使用的是 AJAX,则不会重新加载整个页面。此外,如果您使用的是 MVC,那么整个页面加载就不再是问题,因为没有视图状态并且标记要轻得多。查看 Stack Overflow 的标记。我相信它是一个 MVC 网站。
    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多