2014-10-16 99 views
0

我在第一次使用多視圖控件時,單擊選項卡式菜單項時顯示各種工具。隱藏或禁用C#代碼後面的MultiView選項卡?

我很驚訝我的搜索這不是真的可以單獨使用Asp.net/C#代碼隱藏嗎?

如果例如UserName的會話值不匹配,您如何禁用代碼後面的Tab?

這是一個C#web應用程序。

<asp:MultiView ID="ToolsMultiView" runat="server" ActiveViewIndex="0"> 
<asp:View ID="Tab1" runat="server"> 
    <div class="row"> 
     lots more code.. 
    </div> 
</asp:View> 
<asp:View ID="Tab2" runat="server"> 
    <div class="row"> 
     lots more code.. 
    </div> 
</asp:View> 
<asp:View ID="Tab3" runat="server"> 
    <div class="row"> 
     lots more code.. 
    </div> 
</asp:View> 

我還發現,我是不允許到.aspx頁面上添加條件代碼跳過一個asp:查看部分。

解析器錯誤消息:渲染塊不能嵌套在MultiView控件中。

Line 171:   <div class="viewWrapper"> 
Line 172:    <asp:MultiView ID="ToolsMultiView" runat="server" ActiveViewIndex="0"> 
Line 173:    <%if (1 = 1) { %> 
Line 174:     <asp:View ID="Tab1" runat="server"> 
Line 175:      <div class="row "> 

回答

1
<asp:MultiView ID="MV1" runat="server"> 
    <asp:View ID="view1" runat="server"> 
     <p>View 1 - FOR Bob's EYES ONLY</p> 
    </asp:View> 
    <asp:View ID="view2" runat="server"> 
     <p>View 2 - for everyone</p> 
    </asp:View> 
</asp:MultiView> 

然後在後面的代碼(是的,有這樣的事)。

if (User.Identity.Name != "Bob") 
    { 
     MV1.Views.Remove(view1); 
     MV1.SetActiveView(view2); 
    }