Немного предыстории. Также есть мастер-страница. Вот код 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 для этого заполнителя, но это тоже не работает. Я думаю, это связано либо с шаблоном элемента, либо с представлением сетки. Мне нужно пройти через сетку или что-то в этом роде?
row
GridViewRow
? Если да, то как вы это получите? Кроме того, где вообще находится код? - person Tim Schmelter   schedule 30.04.2014