2010-05-15 105 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>" %>