Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rcast

[Resolvido] carregando user control dinamicamente em uma DIV

Recommended Posts

Eai galera.

To com uma situação que é a seguinte:

Eu tenho um user control (.ascx) criado que é um formulário de login, quero que ele seja carregado em uma div caso o usuário não esteja logado ainda (variáveis de sessão vazias). Como eu faço isso? Como eu acesso o conteúdo da div pra inserir o controle dinamicamente em C#?

Já procurei demais, os poucos códigos que achei tão em VB.NET e muito confusos.

Ps. Se alguem tiver uma idéia melhor p/ fazer controle de login me avise tbm.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) o Div tem que ter o runat=server

2) O div deve ter um ID único

 

no codebehid em c# é so fazer:

 

IDdoDIV.innerHTML="coisa";

 

Isso considerando que o div não esteja dentro de um formview ou qualquer outro controle aspx. Se tiver terá que fazer o FindControl antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele tá dentro de um content que tem RUNAT= Server. A div ta com o ID= "DivLogin".

Pensei em algo do tipo:

 

foreach (Control ctrl in this.Controls)
					if (ctrl.ID == "DivLogin")
						ctrl.innerHTML = LoadControl("~/usercontrols/Login.ascx");

Não to me acertando, tenho que fazer um cast pra div neh? Mas não consigo achar o tipo (div) pra fazer um cast. Pode me dar uma ajuda com o código Lab Design. Agradeço mto pela resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se isso resolve mas já que você já tem o userControl, coloca ele dentro da div com runat=server. (O runat tem que estar no div tambem senão o C# nao reconhece ele mesmo estando dentro de um conteiner.

Coloca no div visible=false e teste no codebehind as sessions. se estiverem null você seta o div visible pra true e neste caso ele vai mostrar o control.

 

Qualuqer objeto html (No caso o div so poderá ser acessado pelo C# se estiverem com o runat=server mesmo dentro de um formview ou qualquer outro objeto do aspnet.

Compartilhar este post


Link para o post
Compartilhar em outros sites

CONSEGUI!

o runat="server" me ajudou muito.. consegui acessar a div pelo código C#

resolvi com apenas uma linha:

 

DivLogin.Controls.Add(LoadControl("~/usercontrols/Login.ascx"));

Valeu Lab Design!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.