如何从c#中的转发器获取值

时间:2014-03-31 10:57:57

标签: c# asp.net repeater

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

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

3 个答案:

答案 0 :(得分:1)

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

以下示例显示了如何访问该控件。它假定UserName显示在ID为txtUserName

的TextBox中
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)

  1. 断言: lblseluser.Text =&#34;所选用户是:&#34; + pnumber;
  2. 运行您的prog
  3. 将鼠标悬停在:上一行的rptrAdmUserList ...
  4. 您应该能够看到rptrAdmUserList内的内容。
  5. 检查第4项(基于0的索引[3])以获取用户名。
  6. 如果你的容器[3]是空的,你需要找到一种方法来填充它。 如果它是空的,你是否在容器中有forename,surname和department的值?

    告诉我们。