如何在 c# 中从中继器获取值

本文关键字:中继器 获取 | 更新日期: 2023-09-27 17:55:31

如何从中继器获取用户名并将其放入标签中?我正在中继器中使用 item 命令,但它不会输出我需要的用户。我的中继器有一个选择按钮,名字,姓氏,部门,用户名。我需要用户名

 protected void rptrAdmUserList_ItemCommand(object source, RepeaterCommandEventArgs e)
 {
    string pnumber = rptrAdmUserList.Items[3].ToString();
    lblseluser.Text = "Selected user is: " + pnumber;
 }

如何在 c# 中从中继器获取值

假设在每个 RepeaterItem 的控件(例如 Label 或 TextBox)中输出用户名,则需要在 ItemCommand-event 处理程序中动态标识该控件。

下面的示例演示如何访问该控件。它假定用户名显示在 ID 为 txtUserName 的文本框中:

protected void rptrAdmUserList_ItemCommand(object source, RepeaterCommandEventArgs e)
{
   var txtUserName = e.Item.FindControl("txtUserName") as TextBox;
   if (txtUserName != null)
   {
       string pnumber = txtUserName.Text;
       lblseluser.Text = "Selected user is: " + pnumber;
   }
}

可以使用 RepeaterCommandEventArgs 参数的其他属性e来标识已触发的命令。

您需要在按钮上有这样的代码来传入参数 - 通常是 ID...

<asp:LinkButton ID="btnDelete" CommandArgument=<%#Eval("ID") %> runat="server" Text="Delete" CommandName="Delete" ></asp:LinkButton>

然后在你的代码后面这样的东西中获取参数:

int iD = int.Parse(((LinkButton)e.CommandSource).CommandArgument);
  1. 将断点放在:lblseluser.文本 ="所选用户是:" + pnumber;
  2. 运行您的程序
  3. 将鼠标悬停在 : rptrAdmUserList 在上一行...
  4. 您应该能够看到 rptrAdmUserList 中的内容。
  5. 检查第 4 项(从 0 开始的索引 [3])以获取用户名。

如果你的容器[3]是空的,你需要想办法填充它。如果为空,则容器中是否有名字,姓氏和部门的值?

让我们知道。