私はリストビュー&ラジオボタンリストがありません。内部のリストビュー私は1つのハイパーリンクコントロールを配置しました。今すぐradiobuttonListから特定の値が選択されると、ハイパーリンクコントロールのみが表示されます。私はリストビューからFIndControlしようとしましたが、このエラーが発生します。FindControl from asp.netリストビューコントロール
インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。 パラメータ名:インデックス
<asp:ListView ID="orderList" runat="server" GroupPlaceholderID="groupPlaceHolder1"
ItemPlaceholderID="itemPlaceHolder1" OnPagePropertiesChanging="OnPagePropertiesChanging">
<LayoutTemplate>
<table class="online-orders">
<thead>
<tr>
<th>Order ID</th>
<th>Patient Name</th>
<th>Actions</th>
</tr>
</thead>
<asp:PlaceHolder runat="server" ID="groupPlaceHolder1"></asp:PlaceHolder>
<tr>
<td colspan="8">
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="orderList" PageSize="10">
<Fields>
<asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="false" ShowPreviousPageButton="true"
ShowNextPageButton="false" />
<asp:NumericPagerField ButtonType="Link" />
<asp:NextPreviousPagerField ButtonType="Link" ShowNextPageButton="true" ShowLastPageButton="false" ShowPreviousPageButton="false" />
</Fields>
</asp:DataPager>
</td>
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder1"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<tbody>
<tr>
<td><asp:Label ID="Label1" runat="server" Text='<%# Eval("OrderID") %>'></asp:Label></td>
<td><asp:Label ID="Label2" runat="server" Text='<%# Eval("name") %>'></asp:Label></td>
<td>
<asp:Label ID="status" runat="server" Text='<%# Eval("status") %>'></asp:Label><br />
<asp:HyperLink ID="decline" CssClass="decline-order-icon" NavigateUrl='<%# "decline-order.aspx?orderID=" & Eval("orderID") %>' Target="_blank" runat="server" Visible="false"></asp:HyperLink>
</td>
</tr>
</tbody>
</ItemTemplate>
</asp:ListView>
VBコード
Private Sub orderFilter_SelectedIndexChanged(sender As Object, e As EventArgs) Handles orderFilter.SelectedIndexChanged
Dim processing As HyperLink = CType(orderList.Items(orderList.SelectedIndex).FindControl("decline"), HyperLink)
If orderFilter.SelectedValue = "processing" Then
processing.Visible = True
End If
End Sub
は、私が欲しいのは値処理がだけにして、次に選択された場合、ハイパーリンクが見え取得する必要があります。しかし、それは動作していません。それでも表示されません – SUN
これをデバッグしようとします。これは、 'orderList.SelectedIndex = -1'が実際にはtrueであるため、このリストで何も選択されていないことを意味します。ポストバックでこのリストを再バインドしないようにしてください – Andrei