【发布时间】:2017-11-03 11:20:48
【问题描述】:
在 CodeBehind 类中我有这个:
Public Class MyControl
Inherits UserControl
' Is used in other functions so cannot be hardcoded:
Public Enum TabID
Accepted = 138
Declined = 139
Unknown = 140
InProgress = 141
End Enum
Public Sub Tab_OnClick(sender As Object, e As EventArgs)
Dim selectedTabID As Integer
Dim linkBtn As LinkButton
If Page.IsPostBack Then
linkBtn = CType(sender, LinkButton)
selectedTabID = CType(linkBtn.CommandArgument, Integer)
' Do stuff with selectedTabID...
End If
End Sub
' More irrelevant code...
End Class
在 ascx 文件上(前面的代码?)我有这个:
<asp:LinkButton id="AcceptedTab" Runat="server" Text="Accepted" CssClass="selected"
CommandArgument="<%# TabID.Accepted %>" OnClick="Tab_OnClick"/>
问题在于selectedTabID = CType(linkBtn.CommandArgument, Integer)这一行在调试过程中显示linkBtn.CommandArgument是一个空字符串(应该是“138”),并且在运行时它无法将空字符串转换为整数。
我也尝试过先将枚举转换为 ascx 文件中的整数:
<asp:LinkButton id="AcceptedTab" Runat="server" Text="Accepted" CssClass="selected"
CommandArgument="<%# CInt(TabID.Accepted) %>" OnClick="Tab_OnClick"/>
如何使用此方法在 Tab_OnClick 函数中获取此枚举值?
【问题讨论】:
标签: asp.net vb.net enums webforms