如何从转发器获取用户名并将其放入标签? 我在我的转发器中使用item命令,但它不会输出我需要的用户。 我的转发器有一个选择按钮,姓,姓,部门,用户名。我需要用户名
protected void rptrAdmUserList_ItemCommand(object source, RepeaterCommandEventArgs e)
{
string pnumber = rptrAdmUserList.Items[3].ToString();
lblseluser.Text = "Selected user is: " + pnumber;
}
答案 0 :(得分:1)
假设您在每个RepeaterItem中的控件(例如Label或TextBox)中输出用户名,您需要在ItemCommand事件处理程序中动态识别控件。
以下示例显示了如何访问该控件。它假定UserName显示在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
的其他属性来标识触发的命令。
答案 1 :(得分:0)
你需要在按钮上输入这样的代码来传递参数 - 通常是ID ...
<asp:LinkButton ID="btnDelete" CommandArgument=<%#Eval("ID") %> runat="server" Text="Delete" CommandName="Delete" ></asp:LinkButton>
然后在你的代码后面这样的东西得到论证:
int iD = int.Parse(((LinkButton)e.CommandSource).CommandArgument);
答案 2 :(得分:0)
如果你的容器[3]是空的,你需要找到一种方法来填充它。 如果它是空的,你是否在容器中有forename,surname和department的值?
告诉我们。