Как указать значение параметра для хранимой процедуры в SqlDataSource

Поскольку я новичок в использовании декларативного синтаксиса SqlDataSource, я пытаюсь найти способ установить значение параметра для хранимой процедуры. У меня есть Client_ID, который передается через объект запроса, и мне нужно установить Client_ID перед выполнением хранимой процедуры SqlDataSource.

У меня есть пара вопросов.

  1. Должен ли параметр хранимой процедуры быть предопределен в разметке ASPX или его можно динамически добавлять в код программной части?

  2. У кого-нибудь есть пример, демонстрирующий разметку SqlDataSource с хранимой процедурой и параметром, а также установку этого значения параметра в коде программной части?


person webworm    schedule 16.03.2011    source источник


Ответы (3)


С помощью .net 4 framework вы можете ...

1. Его можно добавить динамически, но вам потребуется предоставить свой собственный построитель кодовых выражений (для получения дополнительной информации см. Здесь) 1.1 Вы также можете использовать другой параметр для достижения той же цели, например:

введите описание изображения здесь

2.

  <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
  ConnectionString="<%$ ConnectionStrings:yourConnectionString %>" 
  SelectCommand="YourStoreProcedure" SelectCommandType="StoredProcedure">
  <SelectParameters>
     <asp:ControlParameter Name="yourParameterName" ControlID="controlThatHoldsParameterValue" PropertyName="Text" />
  </SelectParameters>

person krul    schedule 06.04.2011

Это довольно подробный пример использования параметризованных запросов (хранимая процедура и текст) с SqlDataSource, включая программную установку параметров. ASP.NET - использование параметризованных запросов с SqlDataSource.

person Zach Green    schedule 18.03.2011
comment
Хотя эта ссылка может дать ответ на вопрос, лучше включить основные части ответа сюда и предоставить ссылку для справки. . Ответы, содержащие только ссылки, могут стать недействительными, если ссылка на страницу изменится. - person bummi; 14.05.2014

 <asp:SqlDataSource ID="ADSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ADConnection %>"
    SelectCommand="GetProfile" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter ControlID="InputTextBox" Name="Host" PropertyName="Text" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

GetProfile - это сохраненное имя процесса, а Host - это имя параметра, которое извлекается из текстового поля с именем InputTextBox.

person Alex Z    schedule 28.01.2013