Фильтрация на основе жёстко закодированного значения
При указании значения параметров вас попросят выбрать источник параметра ("Parameter source") при помощи выпадающего списка, содержащего следующие опции:
- не указывать (None)
- файл cookie (Сookie)
- элемент управления (Control)
- форма (Form)
- профиль (Profile)
- строка запроса (QueryString)
- сессия (Session)
Чтобы указать жёстко закодированное значение, выберите опцию None и затем в текстовом поле значения введите ваше жёстко запрограммированное значение. Как только вы укажете значение параметра и завершите работу с мастером, вы получите следующую декларативную разметку элемента управления SqlDataSource:
<asp:SqlDataSource ID="ID" runat="server" ConnectionString="connectionString"
ProviderName="providerName"
SelectCommand="parameterizedQuery">
<SelectParameters>
<asp:Parameter DefaultValue="hardCodedValue"
Name="parameterName"
Type="dataType" />
</SelectParameters>
</asp:SqlDataSource>
В частности, существует один экземпляр <asp:Parameter> для каждого жёстко заданного значения параметра, указанного в мастере. Атрибут DefaultValue параметра содержит значение, которое вы ввели в текстовое поле, в то время как атрибут Name ссылается на название параметра. (Для Microsoft Access, который использует ? для параметров, атрибут Name?. Единственным важным моментом тут является то, что экземпляры <asp:Parameter> применяются в порядке к параметрам ? .) Наконец, параметр Type указывает тип значения параметра. ссылается на колонку базы данных которая используется параметром, хотя данное значение может быть изменено поскольку название параметра на самом деле
В приложении к данной статье вы найдете пример названный "Filter on Hard-Coded Value Demo" (фильтрация по жёстко заданному значению). В данном примере, SqlDataSource настроен на возвращение всех товаров, фильтруя их таким образом, что возвращены только те, где UnitPrice < 15.00. Финальная разметка SqlDataSource, а также результаты привязанные к GridView показаны ниже:
<asp:SqlDataSource ID="ID" runat="server" ConnectionString="connectionString"
ProviderName="providerName"
SelectCommand="SELECT [ProductID], [ProductName], [UnitPrice] FROM [Products] WHERE ([UnitPrice] = ?)">
<SelectParameters>
<asp:Parameter DefaultValue="15.00"
Name="UnitPrice"
Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>
