Using a LoginView control, you could bind a RadGrid to a specific library and place it inside of the LoginView's Logged in template. The code below binds a library called documents to a RadGrid, then hides the content based on a user's role:
LoginView.ascx.cs
LoginViewTest.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="LoginViewTest.ascx.cs" Inherits="UserControls_LoginViewTest" %> |
<asp:LoginView ID="LoginView1" runat="server"> |
<RoleGroups> |
<asp:RoleGroup Roles="Administrators"> |
<ContentTemplate> |
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" |
GridLines="None"> |
<MasterTableView> |
<RowIndicatorColumn> |
<HeaderStyle Width="20px" /> |
</RowIndicatorColumn> |
<ExpandCollapseColumn> |
<HeaderStyle Width="20px" /> |
</ExpandCollapseColumn> |
<Columns> |
<telerik:GridHyperLinkColumn DataNavigateUrlFields="URL" |
DataNavigateUrlFormatString="{0}.sflb.ashx?download=true" |
DataTextField="Name" HeaderText="Link" UniqueName="column1"> |
</telerik:GridHyperLinkColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
</ContentTemplate> |
</asp:RoleGroup> |
</RoleGroups> |
<LoggedInTemplate> |
You are logged in, however, you don't have access to the documents. |
</LoggedInTemplate> |
<AnonymousTemplate> |
The user is not logged into the system. |
</AnonymousTemplate> |
</asp:LoginView> |
LoginView.ascx.cs
using System; |
using Telerik.Web.UI; |
using System.Collections; |
using Telerik.Libraries; |
public partial class UserControls_LoginViewTest : System.Web.UI.UserControl |
{ |
protected void Page_Load(object sender, EventArgs e) |
{ |
RadGrid RadGrid1 = (RadGrid)LoginView1.FindControl("RadGrid1"); |
if (RadGrid1 != null) |
{ |
RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(RadGrid1_NeedDataSource); |
} |
} |
void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) |
{ |
// create new instance of LibraryManager |
Telerik.Libraries.LibraryManager libraryManager = new Telerik.Libraries.LibraryManager(); |
// get library by specified Name |
ILibrary theLibrary = libraryManager.GetLibrary("Downloads"); |
IList list = theLibrary.GetItems(); |
RadGrid RadGrid1 = (RadGrid)source; |
RadGrid1.DataSource = theLibrary.GetItems(); |
} |
} |
Here is the end result:
Logged In:
Logged Out:
For more information on the Images and Documents modules, please refer to our Developer Guide.