1

我有一个 DataListItem,它可能是一个下拉列表或一个文本框。要获得我需要做的价值:

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

或者

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

问题是,如果它是我得到的下拉列表..

无法将“System.Web.UI.WebControls.DropDownList”类型的对象转换为“System.Web.UI.WebControls.TextBox”类型。

有没有办法在 Ctyping 之前检查 CType 是否会占用?

4

1 回答 1

1

使用 TryCast:

Dim txt as TextBox = TryCast(item.FindControl("myControl"), TextBox)
If txt Is Nothing Then
    TryCast(item.FindControl("myControl"), DropDownList)
End If
于 2009-01-30T22:33:35.373 回答