#c# #.net #asp.net #drop-down-menu
#c# #.net #asp.net #выпадающее меню
Вопрос:
У меня на странице есть 3 выпадающих списка, все они используют одну и ту же строку подключения, которая является функциональной. Хотя третий DDL работает, первые два отображают только System.Data.DataRowView вместо элементов из таблицы. Почему? Это не команда select; названия таблиц и строк правильные, и даже когда я заменяю команды select рабочей командой DDLs, результат тот же. Код ниже:
Первый неработоспособный ddl:
<asp:Panel ID="CustPanel" runat="server" BorderWidth="4px" CssClass="myPanelCss" Width="700px">
<asp:Label ID="LblCustlist" runat="server" Text="Customer: " />
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlCustNameSource">
<asp:ListItem Value="0" Text="Choose Customer" Selected="True"></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlCustNameSource" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT [CustName] FROM [Customer]"></asp:SqlDataSource>
<asp:Button ID="BtnCustShow" runat="server" Text="New Customer" OnClick="BtnCustShow_Click" />
</asp:Panel>
Второй неработоспособный ddl:
<asp:Panel ID="BroPanel" runat="server" BorderWidth="4px" CssClass="myPanelCss" Width="700px">
<asp:Label ID="LblBrolist" runat="server" Text="Broker: " />
<asp:DropDownList ID="DdlBro" runat="server" DataSourceID="SqlBroNameSource">
<asp:ListItem Value="0" Text="Choose Customer" Selected="True"></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlBroNameSource" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT [BroName] FROM [Broker]"></asp:SqlDataSource>
<asp:Button ID="BtnBroShow" runat="server" Text="New Broker" OnClick="BtnBroShow_Click" />
</asp:Panel>
И рабочий ddl:
<asp:DropDownList ID="DdlCustState" runat="server" DataSourceID="SqlDataSource2" DataTextField="State" DataValueField="State" />
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" SelectCommand="SELECT [State] FROM [States]">
</asp:SqlDataSource>
Как я уже сказал, если я сделаю команду select для первых двух такой же, как и для третьего, функционального ddl, я все равно получу тот же сбой. Есть идеи?
Ответ №1:
У вас есть DataTextField =»State» и DataValueField = «State» на том, который работает, но не на тех, которые этого не делают.
Ответ №2:
РЕДАКТИРОВАТЬ: Игнорируйте информацию, которую я опубликовал секунду назад.
То, что говорится на плакате выше, верно. В ваших DDL отсутствуют их DataTextField =»» DataValueField =»»
поля, которые они используют для заполнения значений в самом списке.