【问题标题】:Datalist Itemcommand event is not workingDatalist Itemcommand 事件不起作用
【发布时间】:2013-08-12 00:08:32
【问题描述】:

我正在尝试处理 datalist 的 itemcommand 事件。我想使用绑定在 datalist 中的按钮。但是当我在 itemcommand 事件上添加断点时,事件不会运行。请告诉我为什么它在这里不起作用是数据列表源和我的代码

<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" 
            onitemcommand="DataList1_ItemCommand1" >
        <ItemTemplate>
         <ul>
        <li>
    <a href="#"><asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("pictureurl") %>' Width="170px" Height="104px" /></a><br /><br />
        <asp:Label ID="Label1" runat="server" Text='<%#Eval("fullname") %>'></asp:Label><br />
                <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/images/Icons/accept1.png" CommandName="Accept"   />&nbsp;<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/Icons/decline.png"   />&nbsp;

        </li>
        </ul>
        </ItemTemplate>
        </asp:DataList>

代码:

  if (e.CommandName == "Accept")
        {
            string id = DataList1.DataKeys[e.Item.ItemIndex].ToString() ;

            SqlCommand CmdAcceptRequest = new SqlCommand("Update FriendRequest set requeststatus='Accept' where RequestFrom='" + id + "'", con);
            CmdAcceptRequest.CommandType = CommandType.Text;
            CmdAcceptRequest.ExecuteNonQuery();
            CmdAcceptRequest.Dispose();



         }

此代码不适用于我。项目命令事件不起作用请专家告诉我我错在哪里

【问题讨论】:

    标签: c# asp.net datalist


    【解决方案1】:

    我假设您在每次回发时都对DataList 进行数据绑定。检查IsPostNack 属性,例如:

    protected void Page_Load(Object sender, EventArgs e)
    {
        if(!IsPostBack)
        {
             DataBindDataList();
        }
    }
    
    private void DataBindDataList()
    {
        var dataSource = getSource(); // some data
        DataList1.DataSource = dataSource;
        DataList1.DataBind();
    }
    

    否则,如果您将 DataBind 一个 webdatabound 控件再次绑定到它的 DataSource,则不会触发事件。这仅适用于手动数据绑定控件,不适用于 SqlDataSourceObjectDataSource 等声明性数据源控件。

    【讨论】:

    • 实际上我也在 itemcommand 事件上添加了一个断点,但是当我点击 datalist 断点运行中的按钮时
    • @AzadChouhan:但您使用的是手动数据源是真的吗?什么是您的问题中的“itemcommand 事件没有响应”和您上一条评论中的“但是当我单击 datalist 断点运行中的按钮时”?
    • 我的意思是说,当我在代码上添加断点时,断点应该可以工作,但它不工作.. itemcommand 事件没有响应意味着 itemcommand 不工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    相关资源
    最近更新 更多