替代jQuery ui选项卡插件的iframe - 支持回发

时间:2011-07-05 14:49:21

标签: jquery ajax jquery-ui iframe

实际上,这是我过去发布的有关iframe的问题的更具体版本 -

  

iframe good or bad for my MVC web-app scenario

以上帖子最终倾向于更倾向于“iframes不好”,因为我实际上正在寻找一个可靠的iframe等价物(如果iframe对我的场景非常糟糕)。他们几乎把我绞死了:)但我只是试图找到一个更好的选择。有人建议我考虑一个AJAX库,它会在客户端带来MVC处理,太复杂。这个职位仍然被冻结。

无论如何,让我简化一下。我正在使用jQuery UI选项卡插件来显示选项卡视图。我想隔离标签内容页面,因为它们管理(添加\编辑)单独的实体。必须隔离每个选项卡回发/验证 - 以便选项卡中的处理不会“打扰”另一个。 iframe正在服务于v.well的目的,我已经处理了会话超时等问题..但专家说'iframes很糟糕',所以我开始寻找替代方案。希望你能理解我想要的东西 - 替代iframe用于隔离功能。

以下是我发现的一些替代方案 -

  1. jQuery UI标签允许动态加载,如果我们在更好地替代iframe中指定它吗? 这是完美的,直到我遇到交叉标签验证问题,不像iframe这是隔离的,并且在一个标签中的回发试图回发整个页面(即所有标签)。

  2. 对于(1。)中提到的问题,我遇到了一个能够将回发限制为容器的插件。 ( jQuery UI标签+ jquery-hyjack )看起来很有前途 - http://code.google.com/p/jquery-hijack/

  3. 我有很多解决方案,比如内联在DIV中呈现标签,服务器端包含等等。但这会让我回到最初的隔离问题。一个选项卡的回发/验证会在其他选项卡中触发验证。另外,我不喜欢加载整个页面的想法,因为在单个选项卡中回发(其他标签不受影响)。

  4. 有人说这比iframe好 -

  5.   

    对象   的classid = “clsid中:25336920-03F9-11CF-8FD0-00AA00686F13”   type =“text / html”data =“xpto.html”   width =“300”height =“300”>

    (5。)我已经通过一些流行的博客,论坛找到iframe的问题 - http://www.mediacollege.com/internet/html/frames/pros-cons.html(关于框架,但其中一些也适用于iframe)

      

    如果我不关心SEO,   链接/书签,我已经处理了   iframe导航,安全和   会话超时/重定向问题 -   iframes仍然取消我的资格   方案

    请建议并提供有价值的解决方案。

    iframe信息的一些链接:

1 个答案:

答案 0 :(得分:2)

由于您正在使用ASP.NET MVC(基于其他帖子),您可以控制Form标记,如果您将每个选项卡包含在其自己的表单标记中,则每个Postback中都会有特定于选项卡的字段隔离'你想象的方式,但它仍然是页面中的一个完整的帖子 - 似乎你被WebForms口头禅一点点,这是可以理解的。

您还可以在选项卡中序列化JSON + jQuery中特定于选项卡的字段,并使用AJAX动态创建帖子到另一个端点,例如能够处理验证的ASHX / RESTful API。

编辑:在IFRAMES上,如果你使用标签,这意味着你应该在相同的背景下谈论信息,然后搜索引擎优化和所有不应该是一个问题。我目前工作的(intranet)应用中的所有弹出窗口都是iframe,但在为这些设计时,你必须考虑后退按钮