DataListItem su DropDownList o TextBox VB.Net
-
20-08-2019 - |
Domanda
Ho un DataListItem che può potenzialmente essere un elenco a discesa o una casella di testo. Per ottenere il valore che dovrei fare:
CType(item.FindControl("myControl"), TextBox).Text
o
CType(item.FindControl("myControl"), DropDownList).SelectedValue.ToString()
Il problema è che, se si tratta di un elenco a discesa, ottengo ..
Impossibile eseguire il cast di un oggetto di tipo 'System.Web.UI.WebControls.DropDownList' digitare 'System.Web.UI.WebControls.TextBox'.
C'è un modo per verificare se il CType prenderà prima di Ctyping?
Soluzione
Usa TryCast:
Dim txt as TextBox = TryCast(item.FindControl("myControl"), TextBox)
If txt Is Nothing Then
TryCast(item.FindControl("myControl"), DropDownList)
End If
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow