Pokud používáte SqlDataSource , nejjednodušší způsob bude svázat data na frontě.
Databáze
Poznámka:Vytvořil jsem TypId jako celé číslo.
ASPX
Pokud je v rozevíracím seznamu zvolena hodnota -1 , SqlDataSource vrátí všechny položky.
<asp:DropDownList ID="BookListddl" runat="server" AutoPostBack="True">
<asp:ListItem Text="All" Value="-1" />
<asp:ListItem Text="Fiction" Value="1" />
<asp:ListItem Text="None Fiction" Value="2" />
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [BookTbl] WHERE [TypeId] = @TypeId OR @TypeId = -1">
<SelectParameters>
<asp:ControlParameter ControlID="BookListddl"
PropertyName="SelectedValue"
Name="TypeId"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>