0
我在下拉列表嵌入到列表视图中时遇到填充数据集下拉列表的麻烦。我得到“对象引用未设置为对象的实例”。因为我相信我没有正确地使用FindControl访问下拉列表ListView DropDownList FindControl没有编辑按钮
我们不希望在此列表视图上编辑按钮,我们希望每行都可以一次编辑。大多数在线示例都有编辑按钮。这可能是我的问题的一部分。
在线大多数示例还使用在ASPX页面中定义的数据源。我们一直使用Oracle.DataAccess sys_refcursor专门填充数据集,然后使用数据集作为数据源。所以我必须从VB端填充下拉菜单,而不是在aspx页面中使用数据源。
我可以独立地填充列表视图,并独立地填充下拉列表,但走路和口香糖是失败的。
所以这里有什么,我得到了一些片段:
<asp:ListView ID="lvMFGRS" runat="server">
<ItemTemplate>
<tr runat="server">
<td runat="server">
<asp:Label ID="NameLabel" runat="server" Text='<%#Eval("NEW_MANUFACTURER")%>' />
</td>
<td runat="server">
<asp:dropdownlist ID="ddMFGRS" runat="server" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
那么像这样的VB的一面:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
newmfglist() 'just sticks data in the "NameLabel" and databinds, and this works fine.
For Each lvItem In lvMFGRS.Items
Dim ddlist As DropDownList = lvMFGRS.FindControl("ddMFGRS")
For Each tbl2 As DataTable In dsmfgrlist.Tables
For Each dr2 As DataRow In tbl2.Rows
Dim str1 As String
Dim str2 As String
str1 = "dog" 'dr2.Field(Of String)("DataValueField")
str2 = "cat" 'dr2.Field(Of String)("DataTextField")
ddlist.Items.Add(New ListItem(str2, str1)) 'this is where I get the error
Next
Next
Next
末次
那么你觉得什么我m做错了...
你曾经花费了几个小时的时间,发布到留言板,并在以后认识到你的愚蠢时刻?是的,那就是我。而不是:Dim ddlist As DropDownList = lvMFGRS.FindControl(“ddMFGRS”) 我需要这个Dim ddlist As DropDownList = lvItem.FindControl(“ddMFGRS”) – user3182970
你可以在SO上回答你自己的问题。实际上鼓励与其他开发者分享您的知识。 –