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

标签 c# asp.net gridview data-binding

我有一个 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: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/

相关文章:

asp.net - 如何将 LINQ 结果变量绑定(bind)到 asp.net 中的 Gridview

c# - 当 IDENTITY_INSERT 设置为 OFF 时,EF 无法在表 'PATIENT DONOR' 中插入标识列的显式值

c# - Angular JS 应用程序因多发布请求而失败

c# - 使用带有进度报告的 C# 提取 ZipFile

c# - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表中插入标识列的显式值

c# - Page.User 是否调用数据库

c# - 你如何在C#中用一个字符串拆分一个字符串

c# - aspx中如何获取哪个页面抛出Application_error异常

gridview - 使用附加图标扩展 GridView ActionColumn

javascript - 在gridview中进行计算