Фильтрация на основе жёстко закодированного значения

При указании значения параметров вас попросят выбрать источник параметра ("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>