Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在选项卡UI中的两个局部视图之间共享数据_Asp.net Mvc_Asp.net Mvc 2_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 在选项卡UI中的两个局部视图之间共享数据

Asp.net mvc 在选项卡UI中的两个局部视图之间共享数据,asp.net-mvc,asp.net-mvc-2,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 2,Asp.net Mvc 3,我使用jquery UI创建了两个选项卡,并在选项卡中放置了两个局部视图,如下代码所示 <div id="tabs"> <ul> <li><a href="#tab1">Tab 1</a></li> <li><a href="#tab2">Tab 2</a></li> </ul> <div id="tab1"> @Html.Part

我使用jquery UI创建了两个选项卡,并在选项卡中放置了两个局部视图,如下代码所示

<div id="tabs">
<ul>
    <li><a href="#tab1">Tab 1</a></li>
    <li><a href="#tab2">Tab 2</a></li>
</ul>
<div id="tab1">
   @Html.Partial("Tab1")    </div>
<div id="tab2">
   @Html.Partial("Tab2")
</div>

</div>

@Html.Partial(“Tab1”) @Html.Partial(“Tab2”)
如何将数据从Tab2部分视图共享到Tab1部分视图

谢谢,
纳伦

你不能。在局部视图之间直接共享数据也不是好的体系结构。每个局部视图的存在都应该有一个明确的目的,不应该干扰或与其他视图交换数据-事实上,
Tab1
甚至不应该知道
Tab2
的存在

但是,可以将数据存储在包含两个局部视图的视图的
Model
属性中,并将其移交给渲染的每个局部视图:

@model SomeModel

<div id="tabs">
    <ul>
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
    </ul>
    <div id="tab1">
       @Html.Partial("Tab1", Model)
    </div>
    <div id="tab2">
       @Html.Partial("Tab2", Model)
    </div>    
</div>
@model SomeModel
@Html.Partial(“Tab1”,模型) @Html.Partial(“Tab2”,模型)
从风格上讲,如果用户一次只能看到1个部分,我宁愿不在同一页面中加载2个部分。。。我个人更喜欢将它们分割成不同的视图(如果用户的体验使其看起来像是在点击选项卡以获得您想要的效果,则为事件)

这可以防止partial B执行可能会减慢partial A的页面加载时间的操作,从而无明显原因地降低用户体验


如果您将它们加载到两个不同的视图中,那么您可以使用标准的操作链接在两个视图之间移动数据。。。如果您需要直接导航到选项卡(这不是第一个选项卡),这也很有用。

我们的局部视图必须为jQuery的.buttonset()创建一个具有唯一ID的div。第二个实例如何在不与第一个实例共享数据的情况下创建不同的ID?我不确定我是否完全理解您试图实现的目标,但是您是否尝试过使用
Guid
s作为不同
div
元素的ID?我通过外部提供具有唯一ID的局部视图来解决这个问题。当然,是Guid(=足够大的随机值?)可能是一个有效的解决方案。