簡體   English   中英

數據列表項命令事件不起作用

[英]Datalist Itemcommand event is not working

我正在嘗試處理datalist的itemcommand事件。 我想使用綁定在數據列表中的按鈕。 但是當我在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();



         }

此代碼對我不起作用。 項目命令事件不起作用請專家告訴我我錯了

我假設您在每次回發中都對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();
}

否則,如果再次將Webdatabound控件DataBind到其DataSource ,則事件將不會觸發。 這僅適用於手動數據綁定控件,而不適用於聲明性數據源控件(如SqlDataSourceObjectDataSource

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM