如何在 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;
}
假设在每个 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);
- 将断点放在:lblseluser.文本 ="所选用户是:" + pnumber;
- 运行您的程序
- 将鼠标悬停在 : rptrAdmUserList 在上一行...
- 您应该能够看到 rptrAdmUserList 中的内容。
- 检查第 4 项(从 0 开始的索引 [3])以获取用户名。
如果你的容器[3]是空的,你需要想办法填充它。如果为空,则容器中是否有名字,姓氏和部门的值?
让我们知道。