2010-05-15 104 views
0

我在页面上有三个选项卡和一个用户控件。 我想在每个选项卡上使用RenderPartial。asp.net中的标签mvc

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#tabs").tabs();    
    });  
</script> 


<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">Text 1</a></li> 
     <li><a href="#tabs-2">Text 2</a></li> 
     <li><a href="#tabs-3">Text 3</a></li> 
    </ul> 
    <div id="tabs-1"> 
     <% Html.RenderPartial("usercontrol", Model); %>    
    </div> 
    <div id="tabs-2"> 
     <% Html.RenderPartial("usercontrol", Model); %>    
    </div> 
    <div id="tabs-3"> 
     <% Html.RenderPartial("usercontrol", Model); %>    
    </div> 
</div>  

如何从不同的选项卡获取值。

+2

你从每个标签想要什么类型的值? – 2010-05-15 11:49:50

+0

我已经完成了usercontrol,当我提交表单时,完整表单的值将被保存在数据库中。 – Xulfee 2010-05-15 14:14:29

回答

1

如果你想认标签,这回送数据,你必须附加参数传递给每一个局部视图:

public class UserControlModel 
{ 
    ModelType ParentModel { get; set; } 
    string ID { get; set; } 
} 

<div id="tabs-1"> 
    <% Html.RenderPartial("usercontrol", new UserControlModel { ParentModel = Model, ID = "tab1" }); %>    
</div> 
<div id="tabs-2"> 
    <% Html.RenderPartial("usercontrol", new UserControlModel { ParentModel = Model, ID = "tab2" }); %>    
</div> 
<div id="tabs-3"> 
    <% Html.RenderPartial("usercontrol", new UserControlModel { ParentModel = Model, ID = "tab3" }); %>    
</div> 

然后在局部视图使用Html.Hidden储存价值的形式和通过检查post方法中的值,您可以识别选项卡。

你的部分观点将不得不从ViewUserControl<TaskEditModel>继承:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TaskEditModel>" %>