如何从标签中获取文本并将其存储为变量?

时间:2016-11-01 19:52:56

标签: c# asp.net

我有一个asp ListView,显示SQL表中所有用户的数据。我希望能够单击用户详细信息旁边的按钮,将其UserID存储在变量中以供进一步使用。

enter image description here

我不知道如何从所选用户那里获取标签文本,并将其作为变量存储在C#代码隐藏文件中。

前端:

<ItemTemplate>
<tr style="">
    <td>
        <asp:Label Text='<%# Eval("User_Id") %>' runat="server" ID="User_IdLabel" />
    </td>
    <td>
        <asp:Label Text='<%# Eval("User_Firstname") + " " +  Eval("User_Surname") %>' runat="server" ID="User_NameLabel" />
    </td>
    <td>
        <asp:Label Text='<%# Eval("User_Email") %>' runat="server" ID="User_EmailLabel" />
    </td>
    <td class="text-center">
        <asp:CheckBox Checked='<%# Eval("User_ScrumMaster") %>' runat="server" ID="User_ScrumMasterCheckBox" Enabled="false" />
    </td>
    <td class="text-center">
        <asp:CheckBox Checked='<%# Eval("User_Developer") %>' runat="server" ID="User_DeveloperCheckBox" Enabled="false" />
    </td>
    <td class="text-center">
        <asp:CheckBox Checked='<%# Eval("User_ProductOwner") %>' runat="server" ID="User_ProductOwnerCheckBox" Enabled="false" />
    </td>
    <td>
        <asp:Button ID="AddUserButton" CssClass="btn btn-danger btn-block" runat="server" Text="Add User" onclick="AddUserButton_Click"/>
    </td>
</tr>
</ItemTemplate>

代码背后:

protected void AddUserButton_Click(object sender, EventArgs e)
{
    String projectId = Request.QueryString["Project_id"];
    String userId = this.User_NameLabel.Text;
    // INSERT INTO ProjectTeam WHERE Project_Id = projectId AND User_Id = userId etc.;
}

我真的很茫然,我所看到的所有解决方案都只涉及静态数据,我真的不知道该怎么做。提前感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:0)

在ASPX中为您的按钮添加CommandArgumand属性,该属性将保存用户ID:

<asp:Button ID="AddUserButton" CssClass="btn btn-danger btn-block" 
runat="server" Text="Add User" onclick="AddUserButton_Click" 
Commandargument="<%# Eval("User_Id") %>"/>

在您的代码中,使用CommandArgument中传递的值:

protected void AddUserButton_Click(object sender, EventArgs e)
{
    String projectId = Request.QueryString["Project_id"];
    String userId = e.CommandArgument;
}

答案 1 :(得分:-1)

我认为你的代码中缺少按钮按钮=(发送者为按钮)和字符串userId = button.CommandArgument 。 你可以试着让它运作起来。

 <asp:Button ID="AddUserButton" CssClass="btn btn-danger btn-block" 
    runat="server" Text="Add User" onclick="AddUserButton_Click" 
    Commandargument="<%# Eval("User_Id") %>"/>

    protected void AddUserButton_Click(object sender, EventArgs e)
    {
        String projectId = Request.QueryString["Project_id"];
     Button button = (sender as Button);
        String userId = button.CommandArgument;
    }