2016-11-01 57 views
0

我有一個asp ListView顯示SQL表中所有用戶的數據。我希望能夠單擊用戶詳細信息旁邊的按鈕以將其用戶標識存儲在變量中以供進一步使用。如何從標籤中獲取文本並將其作爲變量存儲?

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.; 
} 

我真的在這裏所有的解決方案,我擡頭看了一眼損失僅涉及靜態數據和我我真的不知道該怎麼做。預先感謝您提供的任何幫助。

+0

請參閱我的答案:http://stackoverflow.com/a/39377507/5836671。基本上你把ID作爲CommandArgument和按鈕一起發送。 – VDWWD

+0

@VDWWD非常感謝,我似乎已經得到它的工作 – TridentTrue

回答

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; 
} 
+0

感謝您的幫助,我想我現在已經工作。 – TridentTrue

+0

如果我的答案對您有幫助,請將其標記爲已接受,如果情況並非如此,請使用您使用的解決方案發布自己的答案。 – Stacked

-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; 
    } 
相關問題