【发布时间】:2014-04-30 15:58:16
【问题描述】:
一点背景。还有一个母版页。这是 ASPX 代码
<asp:WizardStep ID="WizardStepOrder" runat="server" StepType="Step">
<div>
<p>
Please review the items below and enter the quantity of each item for which you are requesting credit.
</p>
<asp:Label ID="InvoiceItemsInstructionsLabel" runat="server" />
</div>
<div style="padding: 0;">
<asp:GridView ID="InvoiceItemsGridView" runat="server" BorderStyle="None" AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:BoundField DataField="Make" HeaderText="Make" />
<asp:BoundField DataField="PartNumber" HeaderText="Part Number" />
<asp:BoundField DataField="Description" HeaderText="Description" />
<asp:BoundField DataField="Ordered" HeaderText="Ordered" />
<asp:BoundField DataField="Shipped" HeaderText="Shipped" />
<asp:TemplateField HeaderText="Credit Code">
<ItemTemplate>
<asp:DropDownList ID="ddlCreditCode" runat="server" AutoPostBack="true">
<asp:ListItem Text="--Select Value--" Value=""></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
也是我的vb背后的代码
Dim ddlCreditCode As DropDownList = DirectCast(Me.WizardStepOrder.FindControl("ddlCreditCode"), DropDownList)
Dim sql As String
Dim cnn As SqlConnection
Dim cmd As SqlCommand
sql = String.Format("select CreditCode, CreditCodeDescription from myDatabase..CreditCodes")
cnn = DBConnection.GetNamedConnection(NamedConnection.myDatabase)
cmd = New SqlCommand(sql, cnn)
Try
cnn.Open()
ddlCreditCode.DataSource = cmd.ExecuteReader()
ddlCreditCode.DataTextField = "CreditCodeDescription"
ddlCreditCode.DataValueField = "CreditCode"
ddlCreditCode.DataBind()
Catch ex As Exception
Throw ex
Finally
cnn.Close()
cnn.Dispose()
End Try
ddlCreditCode 什么都没有回来。为什么?我正在尝试使用数据库中的值填充我的 asp 页面上的下拉列表。但为了做到这一点,我需要能够找到那个控制。我读到一个问题,因为有一个母版页,我必须使用 contentplaceholder 并在其上使用 findcontrol,然后在该占位符上使用 findcontrol,但这也不起作用。我认为它与 itemtemplate 或 gridview 有关。我必须遍历 gridview 吗?
【问题讨论】:
-
row是GridViewRow吗?如果是这样,你如何得到它?另外,代码到底在哪里? -
是的行是一个gridviewrow。抱歉,我忘了在上面包含我的 foreach 语句。我相信它找不到 id 属性的原因是因为它在 itemtemplate 中?
标签: asp.net vb.net findcontrol