2016-03-17 33 views
1

我有一個ASP.NET應用程序,我想顯示所有角色,並添加一個複選框,如果用戶有權檢查。 我使用ASP中繼器獲取所有角色,但是如何檢查同一個中繼器中的複選框以獲取用戶的角色? 這裏是我的代碼:ASP.NET中繼器獲取所有項和複選框,如果用戶有權

<asp:Repeater ID="RepeaterRole" runat="server" DataSourceID="ObjectDataSource2"> 
     <ItemTemplate> 
      <div> 
       <asp:CheckBox runat="server" Checked="False" /> 
       <asp:Label CssClass="lbl" ID="Label1" runat="server" Text='<%# Eval("RoleLabel")%>'></asp:Label> 
      </div> 
     </ItemTemplate> 
    </asp:Repeater> 
    <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetAllRolesToCollection" TypeName="Business.BusinessObject.Role"></asp:ObjectDataSource> 
+0

請參閱http://stackoverflow.com/questions/12073670/set-checkbox-checked-propery-in-asp-repeater – Thakur

+0

約翰,這與[標籤:asp-classic]無關,請重新標記。 – Paul

回答

2
<asp:Repeater ID="RepeaterRole" runat="server" DataSourceID="ObjectDataSource2"> 
     <ItemTemplate> 
      <div> 
       <asp:CheckBox runat="server" Checked='<%# Convert.ToBoolean(Eval("role")) %>' /> 
       <asp:Label CssClass="lbl" ID="Label1" runat="server" Text='<%# Eval("RoleLabel")%>'></asp:Label> 
      </div> 
     </ItemTemplate> 
    </asp:Repeater> 
    <asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetAllRolesToCollection" TypeName="Business.BusinessObject.Role"></asp:ObjectDataSource> 

確保你從DB '角色' 字段1或0

0

感謝Hardik, 根據您的解決方案,我創建了一個類似的方法一樣這個:public Dictionary GetAllRolesFromUserToDictionary()所以複選框會綁定到布爾值 然後ASP代碼是這樣的:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource3"> 
      <ItemTemplate> 
       <div> 
        <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%# Eval("Value")%>' /> 
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("Key")%>'></asp:Label> 
       </div> 
      </ItemTemplate> 
     </asp:Repeater> 
     <asp:ObjectDataSource ID="ObjectDataSource3" runat="server" SelectMethod="GetAllRolesFromCurrentUserToDictionary" TypeName="BusinessObject.RoleCollection"></asp:ObjectDataSource> 
相關問題