C# 代码未到达SelectedIndexChanged事件
我在C# 代码未到达SelectedIndexChanged事件,c#,asp.net,C#,Asp.net,我在MyPage.aspx中有一个用户控件。 用户控件包含很少的下拉列表;每个事件都具有Autopostback=true但当我运行代码并更改下拉项时,会触发其他事件,但不会触发SelectedIndexChanged ascx的代码隐藏: protected void ddPages1_SelectedIndexChanged(object sender, EventArgs e) { ... } ascx还有ReportViewer&我正在将报告中的页数填充到下拉列表中 pro
MyPage.aspx
中有一个用户控件。
用户控件包含很少的下拉列表;每个事件都具有Autopostback=true
但当我运行代码并更改下拉项时,会触发其他事件,但不会触发SelectedIndexChanged
ascx的代码隐藏:
protected void ddPages1_SelectedIndexChanged(object sender, EventArgs e)
{
...
}
ascx还有ReportViewer
&我正在将报告中的页数填充到下拉列表中
protected override void Render(HtmlTextWriter writer)
{
TotalPages = ReportViewer1.LocalReport.GetTotalPages();
txtPageCount1.Text = Convert.ToString(TotalPages);
if (TotalPages > 0)
{
for (int i = 1; i <= TotalPages; i++)
{
ListItem listItem = new ListItem();
listItem.Value = i.ToString();
listItem.Text = i.ToString();
ddPages1.Items.Add(listItem);
}
}
base.Render(writer);
}
受保护的覆盖无效渲染(HtmlTextWriter)
{
TotalPages=ReportViewer1.LocalReport.GetTotalPages();
txtPageCount1.Text=Convert.ToString(总页数);
如果(总页数>0)
{
对于(int i=1;i请提供更多信息?如何绑定到SelectedIndexChanged事件?是以编程方式绑定它?还是使用声明形式
您已启用ViewState吗?您已在dropdownlist上设置了Autopostback=true
,但您可能无法在用户控件上设置Autopostback=true
,请尝试以下操作:
如果您有ddPages1.Items.Add(listItem);
,请将其替换为
if(!this.IsPostBack)
{
ddPages1.Items.Add(listItem);
}
这里可能存在的问题是,通过每次填充列表,您将丢失选择。用户控件的代码中是否包含SelectedIndexChanged侦听器?此外,您是否对列表进行数据绑定?是否使用数据绑定填充下拉列表?如果是,我们可以查看此代码吗?@NickW请参阅更新。同意,更多信息会有所帮助。你能发布一些代码吗?很抱歉。我已经更新了问题。请看一看。如果你能解释一下你是如何在下拉列表中填充数据的,那就更好了