关于option strict on时的类型转换问题

alickjoe 2005-05-18 02:20:45
我写了一个函数是这样的

Protected Function checknull(ByVal list As String(), ByVal sw As Boolean) As Boolean
If list.Length <> 0 Then
Dim obj As New Object
Dim i As Integer
Dim flag As Boolean = False
If sw = True Then
For i = 0 To list.Length - 1
obj = FindControl(list(i))
If TypeOf obj Is TextBox Then
If CType(obj, TextBox).Text = "" Then
Return False
End If
ElseIf TypeOf obj Is DropDownList Then
If CType(obj, DropDownList).SelectedValue = CStr(0) Then
Return False
End If
End If
Next
Return True
Else
For Each obj In Controls(1).Controls
For i = 0 To list.Length - 1
---问题出在这里--------- If obj = list(i) Then ----------------------------
flag = True
End If
Next
If flag = False Then
If TypeOf obj Is TextBox Then
If CType(obj, TextBox).Text = "" Then
Return False
End If
ElseIf TypeOf obj Is DropDownList Then
If CType(obj, DropDownList).SelectedValue = CStr(0) Then
Return False
End If
End If
End If
Next
Return True
End If
End If
End Function



看我上面画线的地方,提示说在option strict on 的时候不允许后期绑定。obj是一个object,而且不知道他在页面上显示的时候是什么类型,所以没法用ctype进行类型转换呀。

大家帮忙想想办法。给个解决方案。
...全文
277 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
alickjoe 2005-05-19
  • 打赏
  • 举报
回复
alien54155415()
正解,这办法其实早该想到,呵呵。谢谢兄弟/姐妹解答!
alien54155415 2005-05-18
  • 打赏
  • 举报
回复
Dim obj As Control
...
If obj1.ID = list( i) Then
alickjoe 2005-05-18
  • 打赏
  • 举报
回复
up again
alickjoe 2005-05-18
  • 打赏
  • 举报
回复
up
gmfirefox 2005-05-18
  • 打赏
  • 举报
回复
.net 2.0里面的泛型似乎可以解决这个问题。
alickjoe 2005-05-18
  • 打赏
  • 举报
回复
fengfangfang(◆◆◆◆◆) 你没弄清我的意思,在编译的时候那句话就过不去。因为obj没有指定类型。所以直接用obj.id在option strict on的时候会报错。
fengfangfang 2005-05-18
  • 打赏
  • 举报
回复
判断是否ID相同

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧