【问题标题】:Jquery tabs with mvc partial views [closed]带有 mvc 部分视图的 Jquery 选项卡 [关闭]
【发布时间】:2014-03-18 15:03:09
【问题描述】:

是否可以通过jquery的选项卡从控制器预加载动作,以便所有选项卡都以html预加载,并且在单击选项卡时不会重新加载页面?

尽管如此,我试图让页面上已加载每个选项卡的 html,因此当您浏览选项卡时,您无需重新加载即可检索数据。

【问题讨论】:

  • 我不清楚您所说的“预加载操作”是什么意思。您可以将 jQuery 选项卡定义为包含部分视图(正如问题上的标记所暗示的那样),并且在切换选项卡时无需重新加载整个页面。你到底想做什么?或者你现在在做什么不起作用?
  • 尝试在已经存在 4 个选项卡的所有 html 的情况下初始加载页面,以便在您浏览选项卡时无需重新加载页面
  • 那么您只需在视图中包含该内容。如有必要,它可能会引用部分视图(如果这是您的视图的组织方式)。这听起来与行动无关。也许你可以展示你在做什么并解释它是如何没有按预期工作的?
  • 创建一个答案,以便我标记你正确

标签: c# jquery asp.net-mvc asp.net-mvc-partialview


【解决方案1】:

这实际上与操作没有任何关系,只是将所需内容包含在您的视图中。可以这么简单:

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">first tab</a></li>
    <li><a href="#tabs-2">second tab</a></li>
    <li><a href="#tabs-3">third tab</a></li>
  </ul>
  <div id="tabs-1">
    first tab content
  </div>
  <div id="tabs-2">
    second tab content
  </div>
  <div id="tabs-3">
    third tab content
  </div>
</div>

如果您的视图被组织成选项卡的内容在部分视图中,只需在这些选项卡中呈现这些部分视图:

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">first tab</a></li>
    <li><a href="#tabs-2">second tab</a></li>
    <li><a href="#tabs-3">third tab</a></li>
  </ul>
  <div id="tabs-1">
    @Html.Partial("FirstTabView", Model)
  </div>
  <div id="tabs-2">
    @Html.Partial("SecondTabView", Model)
  </div>
  <div id="tabs-3">
    @Html.Partial("ThirdTabView", Model)
  </div>
</div>

最终这只是定义输出中的视图。控制器动作用于处理进一步的输入。

【讨论】:

  • 快速提问。 @html.partial 和 @html.renderpartial 有什么区别?
  • @David 如何刷新事件中的一个选项卡,例如按钮单击
  • @Kayani:您可以刷新整个页面,也可以从 AJAX 请求中获取选项卡的内容并将内容替换为该请求的响应。
  • @David 实际上我正在使用选项卡的加载功能来加载新内容,但问题是当我再次在该选项卡的控件(例如按钮或链接)上触发事件时,对控制器的调用是发送了两次,这表明事情正在重复,我能做些什么来防止这种情况发生?
猜你喜欢
  • 1970-01-01
  • 2015-10-04
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多