1

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

后面的代码:

 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();
        }
    }
4

3 回答 3

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..
    } 

}

注意:- 您不得在回发时进行数据绑定。否则,任何挂起的事件处理程序请求都会被取消。

于 2013-09-09T09:24:02.180 回答
0

尝试使用事件处理程序。

dlProducts.ItemCommand += new DataListCommandEventHandler(dlProducts_ItemCommand);
于 2013-09-09T12:02:59.933 回答
0

您通过下拉列表触发数据列表的 Itemcommand。您在我的视频中看到的 youtube 链接上传如下: https ://www.youtube.com/watch?v=hnZp6y2n_h8

在本视频中,我使用“ID”变量。这个变量就像一个 ItemIndex。此 Id 提供下拉列表更改的 Datalistitem 索引。

就像 (e.ItemIndex=Id) 您在 e.ItemIndex place 上使用 ID。

于 2015-05-22T13:38:56.607 回答