我一直在研究这个并且它有效。但是,在尝试从控制下拉列表中更改我的选项以查看下拉列表中应该显示我的动态列表的另一个列表后,没有任何反应。它仍然显示以前的列表。我可以得到一些帮助吗?:
这是我的正面:
<label for="ddlGift1">Gift #1</label>
<asp:DropDownList runat="server" ID="ddlGift1" class="gift" AutoPostBack="true" AppendDataBoundItems="True" ClientIDMode="Static" OnSelectedIndexChanged="ddlGift1_SelectedIndexChanged">
<asp:ListItem Value="--" Text="Please Select" />
</asp:DropDownList>
<label for="ddlFName1">Fund Name</label>
<asp:DropDownList runat="server" ID="ddlFName1" AutoPostBack="true" AppendDataBoundItems="True" ClientIDMode="Static" >
<asp:ListItem Value="--" Text="Please Select" />
</asp:DropDownList>
<label for="ddlGift2">Gift #2</label>
<asp:DropDownList runat="server" ID="ddlGift2" class="gift" AutoPostBack="true" AppendDataBoundItems="True" ClientIDMode="Static" OnSelectedIndexChanged="ddlGift2_SelectedIndexChanged" >
<asp:ListItem Value="--" Text="Please Select" />
</asp:DropDownList>
<label for="ddlFName2">Fund Name</label>
<asp:DropDownList runat="server" ID="ddlFName2" AutoPostBack="true" AppendDataBoundItems="True" ClientIDMode="Static" >
<label for="txtPAmount2">Pledge Amount</label>
<asp:TextBox runat="server" ID="txtPAmount2" CssClass="narrow" text="0.00" onClick="ComputeCosts();" ClientIDMode="Static" class="PAmount" />
<label for="ddlGift3">Gift #3</label>
<asp:DropDownList runat="server" ID="ddlGift3" class="gift" AutoPostBack="true" AppendDataBoundItems="True" ClientIDMode="Static" OnSelectedIndexChanged="ddlGift3_SelectedIndexChanged">
<asp:ListItem Value="--" Text="Please Select" />
</asp:DropDownList>
<label for="ddlFName3">Fund Name</label>
<asp:DropDownList runat="server" ID="ddlFName3" AutoPostBack="true" AppendDataBoundItems="True" ClientIDMode="Static" >
<asp:ListItem Value="--" Text="Please Select" />
</asp:DropDownList>
背面:一个功能的示例:
private void SetCOB(DropDownList name)
{
var _db = (from a in _foundation.COB
orderby a.id
select new { a.id, a.name });
name.DataSource = _db;
name.DataTextField = "name";
name.DataValueField = "id";
name.DataBind();
}
protected void ddlGift1_SelectedIndexChanged(object sender, EventArgs e)
{
if(ddlGift1.SelectedValue == "41")
{
SetCOB(ddlFName1);
}
else if (ddlGift1.SelectedValue == "42")
{
SetCOLA(ddlFName1);
}
else if (ddlGift1.SelectedValue == "43")
{
SetCONHP(ddlFName1);
}
else if (ddlGift1.SelectedValue == "44")
{
SetOE(ddlFName1);
}
else if (ddlGift1.SelectedValue == "45")
{
SetCSEE(ddlFName1);
}
else if (ddlGift1.SelectedValue == "52")
{
SetA(ddlFName1);
}
else if (ddlGift1.SelectedValue == "54")
{
SetS(ddlFName1);
}
}
protected void ddlGift2_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlGift2.SelectedValue == "41")
{
SetCOB(ddlFName2);
}
else if (ddlGift2.SelectedValue == "42")
{
SetCOLA(ddlFName2);
}
else if (ddlGift2.SelectedValue == "43")
{
SetCONHP(ddlFName2);
}
else if (ddlGift2.SelectedValue == "44")
{
SetOE(ddlFName2);
}
else if (ddlGift2.SelectedValue == "45")
{
SetCSEE(ddlFName2);
}
else if (ddlGift2.SelectedValue == "52")
{
SetA(ddlFName2);
}
else if (ddlGift2.SelectedValue == "54")
{
SetS(ddlFName2);
}
}
protected void ddlGift3_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlGift3.SelectedValue == "41")
{
SetCOB(ddlFName3);
}
else if (ddlGift3.SelectedValue == "42")
{
SetCOLA(ddlFName3);
}
else if (ddlGift3.SelectedValue == "43")
{
SetCONHP(ddlFName3);
}
else if (ddlGift3.SelectedValue == "44")
{
SetOE(ddlFName3);
}
else if (ddlGift3.SelectedValue == "45")
{
SetCSEE(ddlFName3);
}
else if (ddlGift3.SelectedValue == "52")
{
SetA(ddlFName3);
}
else if (ddlGift3.SelectedValue == "54")
{
SetS(ddlFName3);
}
}