ASP.NET は初めてです
DetailsView のこのコード Page1.aspx があります。
<InsertItemTemplate>
<asp:DropDownList id="VendorName" datasourceid="VendorSqlDataSource"
datatextfield="VendorName" DataValueField="VendorID"
SelectedValue='<%# Bind("VendorID") %>' runat="server" AutoPostBack="true" />
</InsertItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="VendorName" datasourceid="VendorSqlDataSource"
datatextfield="VendorName" DataValueField="VendorID"
SelectedValue='<%# Bind("VendorID") %>' runat="server" OnSelectedIndexChanged="dllVendor_OnSelectedIndexChanged" AutoPostBack="true" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Vendor BU">
<ItemTemplate>
<asp:Label ID="VendorBUName" runat="Server" style="text-align:left; width:100%" Text='<%# Eval("VendorBUName")%>' Width="70%"/>
</ItemTemplate>
<InsertItemTemplate>
<asp:DropDownList id="VendorBUName" datasourceid="VendorBUSqlDataSource"
datatextfield="VendorBUName" DataValueField="VendorBUID"
SelectedValue='<%# Bind("VendorBUID") %>' runat="server"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="VendorBUName" datasourceid="VendorBUSqlDataSource"
datatextfield="VendorBUName" DataValueField="VendorBUID"
SelectedValue='<%# Bind("VendorBUID") %>' runat="server"/>
</EditItemTemplate>
</asp:TemplateField>
このコード ビハインドで 2 番目のドロップダウン リストを更新するために、Page1.aspx.cs のビハインド コードを作成しようとしています。
(VendorBUName"), but keeps getting a error "".
protected void OnSelectedIndexChanged(object VendorID)
{
string queryString = "SELECT VendorBUID, VendorBUName From MDF_VendorBU WHERE VendorID = @VendorID";
System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection("ConnectionString");
System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(queryString, connection);
command.Parameters.AddWithValue("@VendorID", VendorID);
connection.Open();
DataTable dt = new DataTable();
SqlDataAdapter ad = new SqlDataAdapter(command);
ad.Fill(dt);
/*
VendorBUName.Items.Clear();
if (dt.Rows.Count > 0)
{
VendorBUName.DataSource = dt;
VendorBUName.DataTextField = "VendorBUName";
VendorBUName.DataValueField = "VendorBUID";
VendorBUName.DataBind();
}
*/
connection.Close();
}
//protected void dllVendor_OnSelectedIndexChanged(object sender, System.EventArgs e)
//{
//OnSelectedIndexChanged(VendorName.SelectedValue.ToString());
//}
「名前 'VendorBUName' は現在のコンテキストに存在しません」というメッセージが引き続き表示されます。コード ビハインドが Page1.aspx の 2 番目のドロップダウンリストを認識していないようです。
助けてください。