私はasp.netを使用しており、HtmlSelect
要素をrunat="server"
としています。通常、私はDataSource
をロードしたデータとDataBind
に設定します。しかしこの場合、データには1階層の階層があり、これをHTMLでoptgroup
と表現したいと思います。 Googleはこれまでどんな喜びも思いつきませんでした。これは可能ですか?データバインディングを使用してasp.netのoptgroup要素でHtmlSelectを設定する
2
A
答えて
0
私は同じことを考えていましたが、ASPがこれをネイティブにサポートしているようには見えません。 1つのGoogle検索で、http://www.codeplex.com/SharpPiecesにライブラリを推薦している人が見つかりましたが、私はそれを使ったことがないので、どれくらい良いのか分かりません。 optgroupサポートのためにあなた自身のレンダラを書くことについて他の人が話します。
1
私は解決するために同様の問題を抱えていました。これが私のやり方です。私が続行する前に、おそらくうまくいく、リストのためのあらゆる種類の再破砕法を見つけました。しかし、私はこれが私の解決のために行く最善のルートだとは思わなかった。
また、ユーザーがドロップダウンリストで選択したオプションを知る必要がありましたが、ASP.netのオプショングループでドロップダウンリストを作成できないことがわかりました。だからこれを行うには、単純に<select>
を<optgroup>
で、<option>
を各グループに作りました。次に、を設定した隠しテキストボックスを<div>
に配置しました。私は"onchange"
イベントを選択して、隠しテキストボックスのテキスト値を、javascriptを使用してユーザーが選択したオプションの値に変更するように設定しました。次に、ポストバックが発生したとき、コードビハインドは、ユーザーが選択した値に、隠しテキストボックスrunat="server"
を介してアクセスしました。問題が解決しました!背後にあるコード(C#の)で
<div id="selectDiv">
<select id="selectItems" onchange="document.getElementById('hiddenselectDiv').getElementsByTagName('input')[0].value = this.options[this.selectedIndex].value;">
<optgroup label="Johannesburg">
<option value="Wilropark">Wilropark</option>
<option value="Bryanpark">Bryanpark</option>
<option value="Hurlingham">Hurlingham</option>
<option value="Midrand ">Midrand </option>
<option value="Glenvista">Glenvista</option>
<option value="Sunninghill">Sunninghill</option>
<option value="Edenvale ">Edenvale </option>
<option value="Parkhurst">Parkhurst</option>
</optgroup>
<optgroup label="Cape Town">
<option value="Tokai">Tokai</option>
<option value="Durbanville">Durbanville</option>
</optgroup>
<optgroup label="Durban">
<option value="Musgrave">Musgrave</option>
</optgroup>
<optgroup label="Pretoria">
<option value="Hatfield">Hatfield</option>
</optgroup>
</select>
</div>
<div id="hiddenSelectDiv">
<!--
Note: You probably want to set the hidden value to the first item you have seleced when you build the <select> object.
-->
<input type="hidden" id="selectedItem" value="Wilropark">
</div>
:HTML(ASPX)に
コード:コードは次のようになります
if (!string.IsNullOrEmpty(selectedItem.Value))
{
//validation or whatever you want....
}
関連する問題
- 1. JSONを使用してselect2でoptgroupを設定する方法
- 2. Asp.net MVCのoptgroup機能のヘルパーコードを使用しています
- 3. wpfとasp.netデータバインディングの要素名
- 4. HTMLエンティティを使用して要素値を設定する
- 5. getElementByIdを使用してページに要素を設定する
- 6. AutomationElementを使用してDateTimePicker要素を設定する
- 7. Select2のデータを設定するKartik Optgroup
- 8. データバインディングなしでASP.NETコントロールを使用
- 9. 入力変数を使用して要素の値を設定
- 10. GetとSetを使用して特定の配列要素を設定する
- 11. ASP.NETデータバインディングを使用する動的オブジェクト
- 12. ASP.NET DataSourceとGridViewデータバインディング、プログラムでパラメータ値を設定する
- 13. ValueError:テンソルフローで配列を使用して配列要素を設定する
- 14. ループ内でjqueryを使用して要素属性を設定する
- 15. ASP.NETのポストバック中にforループでJquery attr()を使用して要素属性を設定できません
- 16. データバインディングを使ってfirebaseでrecyclerviewを設定する
- 17. getBoundingClientRectを使用して要素のサイズを設定できますか
- 18. <optgroup> jQueryを使用して
- 19. node.jsを使用してhtml要素の値を設定する方法は?
- 20. Datatable LazyLoadingを使用してターゲット要素の値を設定する方法
- 21. クエリーを使用してMoodleフォームのselect要素を設定する
- 22. jQueryを使用してSPAN要素の後に値を設定する
- 23. javascript変数を使用して要素の高さを設定する
- 24. XmlDocumentクラスを使用してxml要素の値を設定する方法
- 25. JQuery同じ要素の他の属性を使用して要素の属性を設定する方法
- 26. c#とrazorを使用してhtml要素のidを設定します
- 27. jspを使用してoptgroupで選択する
- 28. 設定方法jqueryを使用して要素の幅をspan要素に選択しますか?
- 29. PHPを使用してhtmlフォーム要素を設定しますか?
- 30. asp.netタグを使用してCSSクラスを設定する
これにはJavaScriptが無効になっているクライアントに失敗します。私はブラウザの標準的な振る舞いを、JavaScriptを使って私のサーバ側のフレームワークで見落としを回避するよりも好むでしょう。たとえテキスト連結による選択のためのHTMLを生成し、Request.Form ["control_name "] ... – vitch