DataListItem到DropDownList或TextBox VB.Net

时间:2009-01-30 22:22:53

标签: ctypes datalistitem

我有一个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是否需要?

1 个答案:

答案 0 :(得分:1)

使用TryCast:

Dim txt as TextBox = TryCast(item.FindControl("myControl"), TextBox)
If txt Is Nothing Then
    TryCast(item.FindControl("myControl"), DropDownList)
End If