Frage

Ich habe eine DataListItem, die möglicherweise eine Dropdownlist oder ein Textfeld sein können. Um den Wert zu erhalten, müsste ich tun:

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

oder

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

Das Problem ist, wenn es ein Dropdownlist-I get ..

  

Kann Objekt vom Typ werfen   'System.Web.UI.WebControls.DropDownList'   tippen   'System.Web.UI.WebControls.TextBox'.

Gibt es eine Möglichkeit zu überprüfen, ob die CType vor Ctyping es dauern wird?

War es hilfreich?

Lösung

Verwenden TryCast:

Dim txt as TextBox = TryCast(item.FindControl("myControl"), TextBox)
If txt Is Nothing Then
    TryCast(item.FindControl("myControl"), DropDownList)
End If
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top