从aspx sqldatasource获取返回值

本文关键字:返回值 获取 sqldatasource aspx | 更新日期: 2023-09-27 18:07:21

我在aspx的代码前面使用了插入命令,输出参数是:

asp:Parameter Name="ReturnCustomerID" Type="String" Direction="Output"

和在代码背后(c#)的OnInserted="SqlDS_CustomerDetails_OnInserted"我有:

protected void SqlDS_CustomerDetails_OnInserted(object sender, SqlDataSourceStatusEventArgs e)
{
    String newCustomerID;
    newCustomerID = e.Command.Parameters["@ReturnCustomerID"].Value.ToString();
}

但由于某种原因,我一直得到一个null为我的返回值…我试过直接在SQL服务器中执行存储过程,它很好,并返回一个正确的ID,但不是在c#或ASPX中。

是否有一种方法可以直接"eval"输出参数到代码前面的标签文本?例如

asp:Label ID="NewCustomerID" runat="server" Text='<%# Eval("ReturnCustomerID") %>'>

我只需要将ID绑定到该标签的任何方法

从aspx sqldatasource获取返回值

我看到您已经将您的ReturnCustomerID参数类型设置为String。当从存储过程返回字符串作为返回参数时,必须在调用存储过程之前将该参数设置为一个非空值——即使它是一个仅输出的参数。所以你需要让你的参数有一个方向InputOutput:

<asp:Parameter Name="ReturnCustomerID" Type="String" Direction="InputOutput">

和SqlDataSource中。插入事件你需要设置一个默认值:

e.Command.Parameters("@ReturnCustomerID").Value = "XXXXXXXXX" 

查看此链接http://social.msdn.microsoft.com/Forums/en-SG/sqlintegrationservices/thread/6c95fa58-ad54-4626-96f5-339495c1715f