e.列表视图中的参数不起作用

本文关键字:参数 不起作用 列表 视图 | 更新日期: 2023-09-27 18:29:09

不知道我做错了什么。我的列表视图中有链接按钮,单击时会触发函数"ItemCommand"。"e.CommandArgument.ToString(("假设等于我选择的项目,但有时它显示正确的项目,有时它不是。 为什么?

 <AlternatingItemTemplate>
    <tr class="UserAltTemplate" >
        <td>
           <%-- <asp:Label ID="UsernameLabel" runat="server" Text='<%# Eval("Login") %>'  style='<%# GetUserNameStyle() %>'/>--%>
            <asp:LinkButton ID="UsernameLabel" runat="server" Visible='<%# !string.IsNullOrWhiteSpace(Eval("Login").ToString()) %>'
            style='<%# GetUserNameStyle() %>' Text='<%# Eval("Login") %>' CommandArgument='<%#  Eval("Login") %>'></asp:LinkButton>
        </td>

protected void ItemCommand(object sender, ListViewCommandEventArgs e)
{
    string Target = e.CommandArgument.ToString();

e.列表视图中的参数不起作用

这取决于 CommandName 是否具有命令参数。您可以将标记更改为如下所示的内容:

      <asp:LinkButton ID="UsernameLabel" runat="server" Visible='<%# !string.IsNullOrWhiteSpace(Eval("Login").ToString()) %>'
            style='<%# GetUserNameStyle() %>' Text='<%# Eval("Login") %>' 
CommandName="Login" CommandArgument='<%#  Eval("Login") %>'></asp:LinkButton>

在代码中:

protected void ItemCommand(object sender, ListViewCommandEventArgs e)
{
    if (String.Equals(e.CommandName, "Login"))
        {
            string Target = e.CommandArgument.ToString();

您可以查看 MSDN 了解详细信息。