如何在SqlDataSource中指定存储过程的参数值

web*_*orm 5 asp.net parameters stored-procedures sqldatasource

作为使用SqlDataSource的声明性语法的新手,我试图找出一种方法来将参数的值设置为存储过程.我有一个通过请求对象传递的Client_ID,我需要在执行SqlDataSource的存储过程之前设置Client_ID.

我有一些问题.

  1. 存储过程参数是否必须在ASPX标记中预定义,还是可以在代码隐藏中动态添加?

  2. 有没有人会有一个示例来演示带有存储过程和参数的SqlDataSource标记,以及在代码隐藏中设置该参数值?

kru*_*rul 9

使用.net 4框架,您可以......

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>
Run Code Online (Sandbox Code Playgroud)