私はこれに取り組んできました、そしてそれは働きます。ただし、オプションを制御ドロップダウンリストから変更して、動的リストを表示するはずのドロップダウン内の別のリストを表示しようとしても、何も起こりません。それでも前のリストが表示されます。私はこれでいくつかの助けを得ることができますか?:
これが私のフロントサイドです:
<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>
裏側:1つの関数の例:
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);
}
}