webForumDet fria alternativet

RoleGroup

.NET

0 svar · 189 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

Tjena

Har tänkte börja använda mig utav 2.0's kontroller för hantering om olika roller, har dock redan stött på ett problem.

Det jag vill göra är att skapa rollerna dynamiskt utifrån data i min databas, problemet är att jag riktigt vet hur jag skall göra för att sätta RoleGroup'ens roles från min codebind. Eftersom det inte går att sätta något ID på RoleGroup så har jag inte lyckats komma åt denna från min codebehind. Min sida ser ut ungefär som nedan:

<asp:LoginView id="menu" runat="server">
  <AnonymousTemplate>
  	html kod
  </AnonymousTemplate>
  <RoleGroups>
      <asp:RoleGroup roles="users">
	<ContentTemplate>
	    html kod
	</ContentTemplate>
      </asp:RoleGroup>
      
      <asp:RoleGroup roles="admin">
	<ContentTemplate>
	    html kod
	</ContentTemplate>
      </asp:RoleGroup>
  </RoleGroups>
</asp:LoginView>

En eventuell lösning jag har hittar är följande (har dock inte hunnit testa den ännu):

<asp:literal id="users" visible="false" runat="server">
	html kod
</asp:literal>

<asp:literal id="admin" visible="false" runat="server">
	html kod
</asp:literal>

<asp:LoginView id="login" runat="server">
  <AnonymousTemplate>
    html kod
  </AnonymousTemplate>
</asp:LoginView>

protected void Page_Load(object sender, EventArgs e)
{
	// Lägger till RoleGroup för Users
	RoleGroup rg = new RoleGroup();
	rg.Roles = "users".Split(",".ToCharArray());

	TemplateBuilder tb = new TemplateBuilder();
	tb.SetTagInnerText(users.Text);

	rg.ContentTemplate = tb;
	login.RoleGroups.Add(rg);
	
	// Lägger till RoleGroup för Admin
	rg = new RoleGroup();
	rg.Roles = "admin".Split(",".ToCharArray());

	tb = new TemplateBuilder();
	tb.SetTagInnerText(users.Text);

	rg.ContentTemplate = tb;
	login.RoleGroups.Add(rg);
}

Nån som har en annan ide? Detta känns nämligen som en omväg, kanske finns det något lättare sätt eller någon modifikation man kan göra på min lösning?

248 ms totalt · 4 externa anrop · v20260731065814-full.bd618308
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)