REPEATER

GUSTAVOCANALLI 16/04/2011 01:36:32
#371526
BOA NOITE.

COMO EU POSSO PEGAR O VALOR DE UM HIDDENFIELD DE UM REPEATER NO C#? (O CAMPO é INT)

NO VB.NET EU USO O SEGUINTE CODIGO:

Dim CodigoCategoria As Integer = CInt(CType(e.Item.FindControl([Ô]CodigoCategoria[Ô]), HiddenField).Value)
TECLA 16/04/2011 08:50:21
#371542
Resposta escolhida
Creio que seja isso (teste e retorne o resultado, já que digitei diretamente aqui e não testei).
int CodigoCategoria = int.Parse(((HiddenField)e.Item.FindControl([Ô]CodigoCategoria[Ô])).Value);
GUSTAVOCANALLI 17/04/2011 17:44:28
#371608
A linha acima deu certo. Muito obrigado.

Poderia me ajudar com esse codigo?

Me.Codigo = Me.dgv_categoria.DataKeys(e.CommandArgument).Value.ToString()

OBS:

A linha acima está no seguinte conexto:

Protected Sub dgv_categoria_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgv_categoria.RowCommand
If e.CommandName = [Ô]Edit[Ô] Then
Me.Codigo = Me.dgv_categoria.DataKeys(e.CommandArgument).Value.ToString()
Response.Redirect([Ô]~/administracao/cadastro/categoria/alterar.aspx?Cod=[Ô] & Me.Codigo)
End If

Me.txt_filtro.Text = [Ô][Ô]
Me.rdb_nome.Checked = True

Me.txt_filtro.Focus()
End Sub

O restante eu consegui converter. Só falta essa linha msm.
TECLA 17/04/2011 17:57:47
#371609
Veja se é isso:

this.Codigo = dgv_categoria.DataKeys[e.CommandArgument].Value.ToString();

ou
this.Codigo = dgv_categoria.DataKeys[e.Row.RowIndex].Values[e.CommandArgument].ToString();


Também não testei, tente aí e retorne o resultado.
GUSTAVOCANALLI 17/04/2011 18:04:59
#371610
Testei o 2º e nao deu.

O primeiro deu esse erro [Ô]The best overloaded match for [ô]System.Web.UI.WebControls.DataKeyArray.this[int][ô] has some invalid arguments[Ô]

E [Ô]Argument 1: cannot convert from [ô]object[ô] to [ô]int[ô][Ô]
Tópico encerrado , respostas não são mais permitidas