Ir para conteúdo

POWERED BY:

Arquivado

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

ZecaLoteiro

Acessar elemento HTML e suas propriedades...

Recommended Posts

Pessoal, estou com um problema um tanto quanto complicado de se resolver... (pelo menos para mim que estou não manjo...)

Eis o cenário:

 

 

Tenho um grid com alguns registros, onde eu possibilito o usuário relizar a edição de MAIS DE UM REGISTRO AO MESMO TEMPO. (através de um formView)

Ótimo, tenho os IDs de todos os registros que sofrerão alteração.

 

Mas...

 

Eu preciso de um checkBox com 3 estados, que são:

Checado - Altera todos o valor do campo de todos os registros para 1;

Não checado - Altera todos o valor do campo de todos os registros para 0;

Intermediário - Ignora, e não altera o valor do campo.

 

(Você já viu isso quando entra nas propriedades de 2 ou mais arquivos, que tem parâmetros diferentes. Ex: Marque um item como Somente Leitura, depois selecione dois itens e veja o estado intermediário)

 

 

Resumindo:

... criei o checkBox de 3 estados utilizando jQuery. Mas agora, como o meu código VB.net vai tratar o status do checkbox, para decidir como fazer o update no DB?

 

Ex:

<input type="checkbox" statusAtual="0" />
<input type="checkbox" statusAtual="1" />
<input type="checkbox" statusAtual="2" />

 

Tenho como no código VB.net acessar as propriedades statusAtual dos checkBox ???

 

Alguém sabe como posso fazer essa comunicação do código VB com os parâmetros do elemento HTML?

 

 

Desde já muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você adicionar em cada input um ID e um runat="server" você consegue acessar tranquilo no VB, se não so usando WebService, e passando os valores via JS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas dá pra colocar runat em um elemento HTML? Ou tem que ser o asp checkbox?

 

Valeu pela força ae...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode sim, qualquer item mesmo que seja html se você adicionar runat="server" ele passa a ser controle de servidor e pode ser acessado pela linguagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo... mass....

Tem como por VB.net eu ALTERAR um parametro dentro do elemento HTML?

Queria algo do tipo

 

Protected Sub preparaEdicao(byVal multiDemandas as Boolean)
{
 if multiDemandas Then
   DirectCast(FormViewAlteraDemanda.FindControl("CheckBox1"), HtmlGenericControl).Attribute("class","ThreeStates unChecked")
 Else
   DirectCast(FormViewAlteraDemanda.FindControl("CheckBox1"), HtmlGenericControl).Attribute("class","TwoStates unChecked")
 End if
}

 

Tem como ??? Ou então por meio de javaScript ???

Mas preciso acionar via vb.net....

 

Valew pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim, so que assim:

Protected Sub preparaEdicao(byVal multiDemandas as Boolean)
{
 if multiDemandas Then
   DirectCast(FormViewAlteraDemanda.FindControl("CheckBox1"), HtmlGenericControl).Attributes.Add("class","ThreeStates unChecked")
 Else
   DirectCast(FormViewAlteraDemanda.FindControl("CheckBox1"), HtmlGenericControl).Attributes.Add("class","TwoStates unChecked")
 End if
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que vocês estão jogando jóias aos porcos (perdoem-me o ditado infame)... Dá pra fazer isto de um jeito bem mais simples...

 

Colocou runat="server" no elemento HTML? Perfeito. Agora acrescente também uma id ao elemento, como por exemplo:

 

<input runat="server" id="chkbox1" type="checkbox"/>

 

Aí tu acessa o elemento pelo próprio id no code-behind (no caso, o VB.Net):

 

chkbox1.Attributes.Add("class","TwoStates unChecked")

 

Bem mais fácil do que ficar dando DirectCast toda hora neh? haja dedo pra escrever tudo isso de código... hahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é possivel acessar um controle dentro de um container diretamente... (pelo menos até onde eu sei)

Está dentro de um formView....

O controle está com runat server mas não é listado no codigo vb, por estar dentro de um container.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não joão, você esta errado, pois repare que o CheckBox1, esta dentro de um Formview, e ele primeiro o encontra com o metodo FindControl, e é necessário o cast sim para depois aplicar o atributo.

Não é possivel acessar um controle dentro de um container diretamente... (pelo menos até onde eu sei)
Zeca você está certissimo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é possivel acessar um controle dentro de um container diretamente... (pelo menos até onde eu sei)

Está dentro de um formView....

O controle está com runat server mas não é listado no codigo vb, por estar dentro de um container.

 

Ah, sim, perdão, não vi que estava num FormView...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se vocês quiserem localizar controles de forma recursiva segue um Artigo. http://www.idevweb.com.br/LerArtigo/13/Localizar-controles-asp-net-de-forma-recursiva-

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.