无法将 HiddenField 转换为 I.Convertible

发布于 2025-01-04 20:29:20 字数 1819 浏览 5 评论 0原文

我有 2 个 DataList,其中一个嵌套在另一个中。我有一行(Dim QID....)不断给我带来问题,无论我可以在网上找到什么代码组合。我只是希望能够让隐藏字段显示为整数,以便我的 If 语句能够工作。

Dim dl2 As DataList = CType(e.Item.FindControl("DataList2"), DataList)
        Dim QID As Integer = Convert.ToInt32(e.Item.FindControl("HiddenField2"))
        If QID = 33 Then
                Dim lbl As Label = dl2.FindControl("Label3")
                For Each i As ListItem In dl2.Items
                    If lbl.Text = "Self Directed" Or lbl.Text = "Systems" Then
                        lbl.Visible = False
                    End If
                Next
        End If

<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" 
 Width="100%" CellPadding="4" ForeColor="#333333">
<ItemTemplate>
<asp:HiddenField ID="HiddenField2" runat="server" 
 Value='<%# Eval("QuestionID") %>'></asp:HiddenField>
<asp:Label ID="lblQuesNum" runat="server" Font-Bold="True" 
 Text='<%# Eval("QuestionNum") %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Font-Bold="True" 
 Text='<%# Eval("Question") %>'></asp:Label>
<asp:HiddenField ID="hiddenPicklistID" runat="server"  
 Value='<%# Eval("PicklistID") %>' />
<asp:HiddenField ID="HiddenField1" runat="server" 
 Value='<%# Eval("AnswerType") %>' />

<asp:DataList ID="DataList2" runat="server" DataSourceID="dsPicklist">
<ItemTemplate>
    <asp:HiddenField ID="hidPickID" runat="server" value='<%# Eval("PICKLISTID") %>' />
    <asp:Label ID="Label3" runat="server" Text='<%# Eval("TEXT") %>'></asp:Label> 
    <asp:HiddenField ID="HiddenField1" runat="server" 
     Value='<%# Eval("AnswerType") %>' />
 </ItemTemplate>
 </asp:DataList>
 </asp:TextBox>

I have 2 DataLists where one is nested in the other one. I have one line (Dim QID....) that keeps giving me problems, no matter what combination of code I can find online. I just want to be able to get the Hidden Field to show up as an integer so that my If statement will work.

Dim dl2 As DataList = CType(e.Item.FindControl("DataList2"), DataList)
        Dim QID As Integer = Convert.ToInt32(e.Item.FindControl("HiddenField2"))
        If QID = 33 Then
                Dim lbl As Label = dl2.FindControl("Label3")
                For Each i As ListItem In dl2.Items
                    If lbl.Text = "Self Directed" Or lbl.Text = "Systems" Then
                        lbl.Visible = False
                    End If
                Next
        End If

<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" 
 Width="100%" CellPadding="4" ForeColor="#333333">
<ItemTemplate>
<asp:HiddenField ID="HiddenField2" runat="server" 
 Value='<%# Eval("QuestionID") %>'></asp:HiddenField>
<asp:Label ID="lblQuesNum" runat="server" Font-Bold="True" 
 Text='<%# Eval("QuestionNum") %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Font-Bold="True" 
 Text='<%# Eval("Question") %>'></asp:Label>
<asp:HiddenField ID="hiddenPicklistID" runat="server"  
 Value='<%# Eval("PicklistID") %>' />
<asp:HiddenField ID="HiddenField1" runat="server" 
 Value='<%# Eval("AnswerType") %>' />

<asp:DataList ID="DataList2" runat="server" DataSourceID="dsPicklist">
<ItemTemplate>
    <asp:HiddenField ID="hidPickID" runat="server" value='<%# Eval("PICKLISTID") %>' />
    <asp:Label ID="Label3" runat="server" Text='<%# Eval("TEXT") %>'></asp:Label> 
    <asp:HiddenField ID="HiddenField1" runat="server" 
     Value='<%# Eval("AnswerType") %>' />
 </ItemTemplate>
 </asp:DataList>
 </asp:TextBox>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜点 2025-01-11 20:29:20

您不能将控件强制转换为数值。实际上,您希望将 Hiddenfield 的值转换为整数。

Dim hidden2 = DirectCast(e.Item.FindControl("HiddenField2"), HiddenField)
Dim QID As Integer = Int32.Parse(hidden2.Value)

You cannot cast a control to a numeric value. Actually you want the value of the Hiddenfield to be casted to an integer.

Dim hidden2 = DirectCast(e.Item.FindControl("HiddenField2"), HiddenField)
Dim QID As Integer = Int32.Parse(hidden2.Value)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文