存储过程为:
CREATE PROCEDURE [lqt].[query_production] 
@AuthorName VarChar(12),
@TotalMoney Real OUTPUT,
@TotalNumber Int OUTPUT
 AS
....
///////////////////////////////////////////////////////////////////////////////ASPX:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:EClassConnectionString %>"
                SelectCommand="query_production" SelectCommandType="StoredProcedure">
                <SelectParameters>
                    <asp:ControlParameter ControlID="AuthorName" DefaultValue="SomeOne" Name="AuthorName"
                        PropertyName="Text" Type="String" />
                    <asp:Parameter Direction="InputOutput" Name="TotalMoney" Type="Single" />
                    <asp:Parameter Direction="InputOutput" Name="TotalNumber" Type="Int32" />
                </SelectParameters>
            </asp:SqlDataSource>            <asp:DetailsView ID="DetailsView2" runat="server" DataSourceID="SqlDataSource1"
                Height="50px" Width="695px">
            </asp:DetailsView>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />//////////////////////////////////////////////////////////////////////
cs:  protected void Button1_Click(object sender, EventArgs e)
    {
        
        DetailsView2.DataBind(); 
    }点击按扭后没有反映

解决方案 »

  1.   

    MSDN上用的是DropDownList,为什么我用TextBox不行啊。
    请高手指点:如何传递参数值、如何接收返回参数值
    谢谢了
      

  2.   

    你可以直接将输出参数绑定到页面上的控件,那么,SqlDataSource在查询时会将输出参数的值直接写到控件,又或者在SqlDataSource的Selected事件处理程序中截获该参数的值并做进一步的处理(例如赋值到某TextBox)~~~
      

  3.   

    谢谢,已经解决,处理OnSelected事件,就可以取得返回参数值了
      

  4.   

    SqlDataSource1.SelectParameters["AuthorName "].DefaultValue = TextBox1.Text;
    TextBox2.Text=SqlDataSource1.SelectParameters["TotalMoney"].DefaultValue;
    TextBox3.Text=SqlDataSource1.SelectParameters["TotalNumber"].DefaultValue;