私は3つのドロップダウンリストControls.eachのドロップダウンが静的な値が含まれているアイテムは(のSelectedIndexChangedイベントの)最初のドロップダウンで選択されたとき、私は何をする必要があるか1,2,3,4 が持っている同じ項目べき他の2つのドロップダウンで選択してくださいドロップダウンリストの選択
答えて
あなたがしていることはなんですか?分離コードで
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged">
<asp:ListItem Text="1" Value="1" />
<asp:ListItem Text="2" Value="2" />
<asp:ListItem Text="3" Value="3" />
<asp:ListItem Text="4" Value="4" />
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged">
<asp:ListItem Text="1" Value="1" />
<asp:ListItem Text="2" Value="2" />
<asp:ListItem Text="3" Value="3" />
<asp:ListItem Text="4" Value="4" />
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged">
<asp:ListItem Text="1" Value="1" />
<asp:ListItem Text="2" Value="2" />
<asp:ListItem Text="3" Value="3" />
<asp:ListItem Text="4" Value="4" />
</asp:DropDownList>
:ASPXコードで
DropDownList.SelectedValue
が読み取り専用であるため
protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddl = (DropDownList)sender;
string value = ddl.SelectedValue;
SetValue(DropDownList1, value);
SetValue(DropDownList2, value);
SetValue(DropDownList3, value);
}
protected void SetValue(DropDownList ddl, string value)
{
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(value));
}
ちょうどddl1.SelectedValue = ddl2.SelectedValue
を入力すると、動作しません。
すべてのDDLのうちSelectedIndex
を送信者のものに設定したわけではありません。 缶あなたの例のシナリオでそれを使用しますが、あなたのDDLの1つに他のものと異なる順序でListItemがあると、コードが壊れます。私の意見では、これは危険な練習になりますが、YMMV。
また、SetValueメソッドを一般化することを決めた場合(私は多くの場合、プロジェクト全体のDropDownList
コントロールに拡張メソッドとして追加します)、DDLにターゲット値が見つからない場合を処理する必要があります例外をスローすることによって。 FindByText
を使用してSetTextバージョンを作成することもできます。
助けてくれてありがとう – chamara
2番目と3番目のドロップダウンのselectedvalueプロパティを最初の選択された値に設定します。ドロップダウンをautopostback = "true"に設定して、サーバーにポストバックし、適切に設定することができます。
または、変更クライアントイベントが最初に発生したときに、クライアントサイドJavaScriptを使用して他の選択要素のselectedindexプロパティを変更します。
あなたがする必要があるのは、このようなあなたの他のドロップダウンリストのSelectedIndex
設定されている:
protected void DropDownList1SelectedIndexChanged(Object sender, EventArgs e)
{
dropDownList2.SelectedIndex = dropDownList1.SelectedIndex;
dropDownList3.SelectedIndex = dropDownList1.SelectedIndex;
}
言及を忘れた...値はすべてのドロップダウンで同じ順序ではありません。これは問題ありません... – chamara
は、以下のことを試してみてください。
マークアップ:
<asp:DropDownList ID="dd1" OnSelectedIndexChanged="dd1_SelectedIndexChanged" AutoPostBack="true" runat="server" />
<asp:DropDownList ID="dd2" runat="server" />
<asp:DropDownList ID="dd3" runat="server" />
コードビハインドを:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
BindData();
}
protected void dd1_SelectedIndexChanged(object sender, EventArgs e)
{
string selected = dd1.SelectedValue;
dd1.SelectedValue = dd2.SelectedValue = dd3.SelectedValue = selected;
BindData();
}
private void BindData()
{
int[] values = { 1, 2, 3, 4 };
dd1.DataSource = dd2.DataSource = dd3.DataSource = values;
dd1.DataBind();
dd2.DataBind();
dd3.DataBind();
}
これは読み取り専用のプロパティなので、 'dd1.SelectedValue = dd2.SelectedValue'はエラーを引き起こすでしょう。 –
@ジャスティン:いいえ、そうではありません。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selectedvalue.aspx。私は自分のコードbtwをテストしました。 – volpav
あなたが正しいかのように見えます。私は最近のプロジェクトでこれが私に問題を引き起こしたと断言できましたが、多分私は他のことを考えています。私の方法の誤りを私に見せてくれるあなたのリンクに+1してください。 –
- 1. HTMLドロップダウンリストを選択
- 2. MVC2マルチ選択ドロップダウンリスト
- 3. セカンダリスレッドのドロップダウンリストの選択
- 4. Googleのドロップダウンリスト(選択 - >オプション)
- 5. ドロップダウンリストで複数の選択
- 6. ASP.NETの複数選択ドロップダウンリスト
- 7. databoundドロップダウンリスト項目を選択
- 8. 動的ドロップダウンリスト選択の選択された行インデックスを取得
- 9. j2meフォームの国選択のドロップダウンリスト
- 10. ドロップダウンリストのデフォルト選択値の変更
- 11. ドロップダウンリストの最初の項目を選択
- 12. ドロップダウンリストの項目から値を選択
- 13. PHPポストからドロップダウンリストの選択方法
- 14. ASP.NETドロップダウンリストの選択値を保持JavaScript
- 15. ドロップダウンリストの選択モーダルを表示する
- 16. ドロップダウンリストで選択したインデックスのイベント
- 17. Webdriverドロップダウンリストで選択/選択できません
- 18. ドロップダウンリスト項目を選択できない
- 19. HTMLラジオボタンを選択するドロップダウンリスト
- 20. ドロップダウンリスト(HTML)から選択した値を選択した後の表を表示
- 21. mvc3 Razorのドロップダウンリスト(デフォルトのドロップダウンリストの値は選択されていません)
- 22. 他のドロップダウンリストの選択に基づいて1つのドロップダウンリストを作成する
- 23. 別のドロップダウンリストの選択時にドロップダウンリストを入力してください
- 24. 上記のドロップダウンリストの選択に基づいてドロップダウンリストを無効にします
- 25. MVC3ドロップダウンリストで選択項目が選択されていません
- 26. ドロップダウンリスト/選択リストで既に選択されている項目を選択してください
- 27. ドロップダウンリストからの複数の値の選択
- 28. ドロップダウンリストは、項目を選択/特定のアイテムの最初の
- 29. jspのstrutsのドロップダウンリストで値を事前選択する方法
- 30. Androidのアクションバーのスピナーが選択されたアイテム、サブタイトル、ドロップダウンリスト
大丈夫です!それで何がうまくいかなかったのですか? – Shoban