我正在尝试在更改下拉列表时填充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();
}
}
答案 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一样。