【问题标题】:refresh one frame from another frame从另一帧刷新一帧
【发布时间】:2012-08-04 09:23:27
【问题描述】:

我正在使用 asp.net mvc3.visual studio2010。

我的应用程序中有三个框架。当我单击不同窗格中的按钮时,我想刷新另一个窗格。

为此,我在我的应用程序中使用了frameset。我曾经喜欢过

<frameset cols="25%,*,25%"> 
    <frame name ="f1" src="../SearchCriteria/Index"/> 
    <frame name="f2" src="../SearchResults/Index" /> 
    <frame name="f3" src="../SearchProfile/Index" />
</frameset>

当我调试应用程序时,我的输出中显示空白页面。你能告诉我哪里做错了吗?

我的查看路径是:
查看->SearchCriteria->Index.cshtml 查看->SearchResults ->Index.cshtml 查看->SearchProfile ->Index.cshtml

【问题讨论】:

  • 对于我的应用程序,我有三个窗格,我想刷新一个窗格,当我单击另一个窗格上的按钮时。所以最初我使用 iframe 来加载窗格中的内容,但刷新一个页面其他页面在 iframe 中是不可能的,所以我已经搬到了 frameset。还有其他方法可以实现吗?
  • 我会通过 JS 和 AJAX 调用来解决这个问题,使用 jQuery 等库来提供跨不同浏览器的兼容性层。
  • 我有一个疑问,是否可以在vs2010中使用框架集,你能告诉我如何从另一个窗格刷新一个窗格吗?
  • 我想我最后一次使用框架是在 1997 年左右,坦率地说,我不记得所有的细节,但你需要做的就是在表单上设置 target 属性发布搜索。也就是说,它与服务器端无关;您使用的是 VS2010 和 MVC3 无关紧要。
  • 实际上在我的应用程序中,我的拆分器中有左窗格、中窗格和右窗格。在中间窗格中,我有一个名为“详细信息”的按钮,当我单击按钮时右窗格必须像这样刷新我的要求,stackoverflow.com/questions/6981349/…

标签: asp.net-mvc-3 visual-studio-2010


【解决方案1】:

由于它是一个 ASP.NET MVC 应用程序,您的项目中应该已经有 jQuery 库。为什么不使用一些 jQuery 很酷的特性并为用户提供美妙的用户体验呢?

使用 DIV,而不是 FrameSet。将 jQuery 库包含到此页面(或布局页面,以便在使用该布局模板的所有页面中都可用)

<div id="divNavigation">
  <ul>
     <li>@Url.ActionLink("About","About","Home",null, new { @class="lnk"})</li>
     <li>@Url.ActionLink("Contact","Contact","Home",null, new { @class="lnk"})</li>
     <li>@Url.ActionLink("Jobs","Jobs","Home",null, new { @class="lnk"})</li>
  </ul>
</div>
<div id="content">

</div>
<script type="text/javascript">
  $(function(){
     $(".lnk").click(function(e){
       e.preventDefault();
       $("#content").load($(this).attr("href"));
     });
  });
</script>

上述代码的作用是,每当用户点击一个带有 css 类 lnk 的锚标签时,它会使用 jQuery 的 load 函数以异步方式加载链接的 HREF 页面的内容。所以没有页面刷新/重新加载,用户会看到。

【讨论】:

    【解决方案2】:

    将框架更改为具有 ID 的 div,在框架 1 上有一个带 ID 的按钮,将单击事件附加到将获取数据并填充 div 2 的 html 的按钮,这就是它的完成方式。你会发现现在开发人员会走简单的路线,代码更少,做的更多。如果你的框架解决方案是可能的(我相信它是可能的),我相信大多数开发人员都会喘不过气来,去 OMG WTF 为什么他只是做 XXXX 并使这些东西易于维护:-)

    我不想推送任何特定的框架,但如果您对 JSON 或 XML 不满意,您可以直接使用 javascript 完成所有这些并返回 html 内容。

    【讨论】:

      猜你喜欢
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      相关资源
      最近更新 更多