在C#中将表列值转换为变量

时间:2012-09-03 14:06:11

标签: c# asp.net html-table itemtemplate

我正在使用表格获取表单视图的itemtemplate字段。我需要在变量中加username,以便删除特定的row.Username是唯一的。

这是我的代码:

 <ItemTemplate>
    <table>
        <tr>
            <td align="right"><b>User Name:</b></td>
            <td><%# Eval("UserName") %></td>
        </tr>
        <tr>
            <td align="right"><b>Password:</b></td>
            <td><%# Eval("Password") %></td>
        </tr>
        <tr>
            <td align="right"><b>First Name:</b></td>
            <td><%# Eval("FirstName") %></td>
        </tr>
        <tr>
            <td align="right"><b>Last Name:</b></td>
            <td><%# Eval("LastName") %></td>
        </tr>
        <tr>
            <td colspan="2">
                <asp:LinkButton ID="EditButton"
                                    Text="Edit"
                                    CommandName="Edit"
                                    RunAt="server"/>
                &nbsp;
                <asp:LinkButton ID="NewButton"
                                    Text="New"
                                    CommandName="New"
                                    RunAt="server"/>
                &nbsp;
                <asp:LinkButton ID="DeleteButton"
                                    Text="Delete"
                                    CommandName="Delete"
                                    RunAt="server"/>
            </td>
        </tr>
    </table>
</ItemTemplate>

我如何在C#中完成?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我会使用服务器控件,例如Label,然后您可以通过item.FindControl找到它:

ASPX:

<tr>
    <td align="right"><b>User Name:</b></td><td>
        <asp:Label Id="LblUserName" runat="server"
             Text='<%# Eval("UserName") %>'></asp:label>
    </td>
</tr>
.......
<asp:LinkButton ID="DeleteButton"
    Text="Delete"
    CommandName="Delete"
    RunAt="server"
    OnCommand="DeleteButton_Command" />

代码隐藏:

void DeleteButton_Command(Object sender, CommandEventArgs e) 
{
    if(e.CommandName == "Delete")
    {
        LinkButton btnDelete = (LinkButton)sender;
        var item = (FormViewItem)btnDelete.NamingContainer;
        Label LblUserName = (Label)item.FindControl("LblUserName");
        String userName = LblUserName.Text;
    }
}