C# 在运行时更新XmlDataSource

C# 在运行时更新XmlDataSource,c#,asp.net,drop-down-menu,xmldatasource,C#,Asp.net,Drop Down Menu,Xmldatasource,我将这个DropDownList绑定到XmlDataSource,但是XPath必须依赖于另一个输入(另一个DropDownList)。我在父DDL的SelectedIndexChanged中修改了XPath并重新绑定,但页面不会刷新。我应该如何显示更新 protected void ProductDropDownList_SelectedIndexChanged(object sender, EventArgs e) { CompMapping.XPath = "//couple[@p

我将这个DropDownList绑定到XmlDataSource,但是XPath必须依赖于另一个输入(另一个DropDownList)。我在父DDL的SelectedIndexChanged中修改了XPath并重新绑定,但页面不会刷新。我应该如何显示更新

protected void ProductDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
    CompMapping.XPath = "//couple[@product='" + ProductDropDownList.SelectedValue + "']";
    CompMapping.DataBind();
    ComponentDropDown.DataBind();
}
ComponentDropDown设置为AutoPostBack=True,但这还不够。有什么想法吗?这可能与两个DropDownLists都在用户控件中有关吗?

删除该行:

CompMapping.DataBind();

这个问题必须与它是一个用户控件这一事实相联系,因为将下拉列表链接到它之外没有问题。意识到我并不一定需要将它们放在用户控件中,我只是将它们移到了外部。这并不能真正解决问题,但至少不再是我关心的问题。

这不会改变任何事情。它是在运行时使用LoadControl()加载的用户控件吗?不,它是在设计模式下添加到aspx中的。