Pergunta

Eu tenho um DataListItem que pode potencialmente ser um dropdownlist ou uma caixa de texto. Para obter o valor que eu precisaria fazer:

 CType(item.FindControl("myControl"), TextBox).Text

ou

CType(item.FindControl("myControl"), DropDownList).SelectedValue.ToString()

O problema é, se é um dropdownlist Eu recebo ..

Não é possível para objeto elenco de tipo 'System.Web.UI.WebControls.DropDownList' digitar 'System.Web.UI.WebControls.TextBox'.

Existe uma maneira de verificar se o CType vai demorar antes Ctyping-lo?

Foi útil?

Solução

Use TryCast:

Dim txt as TextBox = TryCast(item.FindControl("myControl"), TextBox)
If txt Is Nothing Then
    TryCast(item.FindControl("myControl"), DropDownList)
End If
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top