从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绑定到该标签的任何方法
我看到您已经将您的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