" /> 在我的后台代码中,我给userId赋值了,还写了this.D-6ren">
gpt4 book ai didi

c# - 如何在sqlDataSource 的select 参数中使用数据绑定(bind)?

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:19 26 4
gpt4 key购买 nike

我有一个 sqlDataSource,我在其中使用如下选择参数:

<asp:sqlDataSource ID="EmployeeDetailsSqlDataSource" 
SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees WHERE EmployeeID = @EmpID"
ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>" RunAt="server">
<SelectParameters>
<asp:Parameter Name="EmpID" Type="Int32" DefaultValue="<%#userid%>" />
</SelectParameters>
</asp:sqlDataSource>

在我的后台代码中,我给userId赋值了,还写了this.DataBind();

数据绑定(bind)不起作用。有谁知道解决这个问题的方法吗?

最佳答案

一种方法是在 Page_Load 事件背后的代码中或绑定(bind)变量后使用 userid 变量设置值。

 //set SqlDataSource parameters value with empID as your variable
EmployeeDetailsSqlDataSource.SelectParameters.Add("@EmpID", userID);

ASP:

 <asp:sqlDataSource ID="EmployeeDetailsSqlDataSource" 
SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees WHERE EmployeeID = @EmpID"
RunAt="server">
<SelectParameters>
<asp:Parameter Name="EmpID" Type="Int32" DefaultValue="0" />
</SelectParameters>
</asp:sqlDataSource>

另一种选择是在数据检索之前发生的选择事件中设置来自代码的值。

SqlDataSource.Selecting Event

这里是一个更完整示例的链接 Full Example

<asp:sqlDataSource ID="EmployeeDetailsSqlDataSource" 
SelectCommand="SELECT EmployeeID, LastName, FirstName FROM Employees WHERE EmployeeID = @EmpID"
RunAt="server" OnSelecting=OnSelectingHandler">
<SelectParameters>
<asp:Parameter Name="EmpID" Type="Int32" DefaultValue="0" />
</SelectParameters>
</asp:sqlDataSource>

代码隐藏:

Public void OnSelectingHandler(object sender, SqlDataSourceSelectingEventArgs e)
{

e.Command.Parameters[0].Value=userID;

}

关于c# - 如何在sqlDataSource 的select 参数中使用数据绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30458011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com