【问题标题】:Best to load View or PartialView into the big main Content area?最好将 View 或 PartialView 加载到大的主要内容区域?
【发布时间】:2015-02-20 14:12:44
【问题描述】:

我有一个将 PartialView 加载到内容区域的菜单。

我加载 PartialView 是因为我只想更改内容区域。优点是所选菜单项始终突出显示,折叠之类的内容也不会改变。

我的一个问题是设计的部分不适用于 PartialView。我在内容区域中有一些部分视图的标题,但不是全部,我可以对部分很好,因为这就是它们的正确之处。

我想知道我是否曾经制作过常规视图,但我不使用它们感觉不对,因为它在 MVC 中是如此基础。

我的问题是,您会将ViewPartialViews 加载到内容区域吗? 如果您更喜欢查看,那么解决持久菜单状态问题的最佳实践是什么。 (会话对象或主题标签某种 ViewBag 能够在页面刷新后存活)?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-5 asp.net-mvc-partialview page-lifecycle asp.net-mvc-views


    【解决方案1】:

    一切都是风景。它是局部视图还是仅视图之间的唯一区别在于您如何使用它。如果您从操作中返回PartialView 或使用Html.Partial,那么您将获得部分视图。否则,您将使用完整视图(这仅意味着将使用设置为加载的任何布局)。

    基本上,您的问题没有实际意义。以您使用“局部视图”的方式使用“视图”,使其成为局部视图。您可以使用“视图”的唯一方法是将完整的网站布局添加到您的内容区域,这显然不是您想要的。

    此外,就部分而言,在“部分视图”中使用部分是由于它是部分视图这一事实而造成的功能限制。部分只能与布局结合使用,因为部分视图不使用布局,所以无法使用部分。

    【讨论】:

    • 假设您单击了一个菜单项,但在其上单击了一个 CSS 类,因此它从其他项中突出显示。如果您加载 View 整个页面会重新加载并且您会失去突出显示。你将如何解决这个问题?如果你愿意的话?或者你会像我现在一样继续加载部分视图吗?但是我根本无法加载任何视图..
    • 如果我的问题很弱,我很抱歉,我想我都想弄清楚选择什么做法以及如何解决加载新页面时出现的视图/菜单问题。
    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多