无法触发itemcommand事件asp.net

时间:2013-09-09 08:58:32

标签: c# asp.net linq

我正在尝试在更改下拉列表时填充datalist控件。我无法触发datalist的Itemcommand事件。当我在page_load事件上填充datalist时它工作正常。但是我不知道下拉列表发生了什么。

代码背后的代码:

 protected void dlSize_SelectedIndexChanged(object sender, EventArgs e)
    {
        string CategoryID = Request.QueryString["ID"].ToString();

        using (TestEntities db = new TestEntities())
        {
            IEnumerable<Test.Product> Test= //linq expression here
            dlProducts.DataSource = Test;
            dlProducts.DataBind();
        }
    }

3 个答案:

答案 0 :(得分:0)

尝试使用

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) //this IF statement is what prevents re-binding on PostBack 
    { 
        // Code to bind datalist..
    } 

}

注意: -  你不能在回发后数据绑定。否则,任何挂起的事件处理程序请求都将被取消。

答案 1 :(得分:0)

使用事件处理程序尝试。

dlProducts.ItemCommand += new DataListCommandEventHandler(dlProducts_ItemCommand);

答案 2 :(得分:0)

您是dropdownlist的datalist的fire Itemcommand。您在我的视频中看到的内容在youtube上传,如下所示: https://www.youtube.com/watch?v=hnZp6y2n_h8

在此视频中,我正在使用&#34; ID&#34;变量。这个变量就像ItemIndex一样。此Id提供下拉列表更改的Datalistitem索引。

就像(e.ItemIndex = Id)你在e.ItemIndex上使用ID一样。