我有一个asp ListView,显示SQL表中所有用户的数据。我希望能够单击用户详细信息旁边的按钮,将其UserID存储在变量中以供进一步使用。
我不知道如何从所选用户那里获取标签文本,并将其作为变量存储在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.;
}
我真的很茫然,我所看到的所有解决方案都只涉及静态数据,我真的不知道该怎么做。提前感谢您提供的任何帮助。
答案 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;
}