javascriptを使用してドロップダウンリストにオプションを設定しましたが、selectedItemを取得できません。何か案が?
2 に答える
ASP.NET DropDownListサーバーコントロールは、オプションをビューステートに保持します。クライアント側でオプションを追加すると、サーバー側にポストバックしたときにオプションがビューに表示されなくなります。
したがって、次のいずれかを実行できます。
サーバー側でオプションを追加するために完全なポストバックを実行します(最良の方法は、ドロップダウンリストを更新パネルに配置して、少なくとも完全なポストバックがAjaxを経由するようにすることです)
javascriptを使用して、選択したオプトインを非表示のテキストボックスに配置し、サーバー側で取得したときにそれを読み取ります
または、Request.Form ["dropdownlistid"]で生のフォームデータを読み取ることができる場合もありますが、しばらく経っているので、これについてはよくわかりません。
他のよくあるnoobの間違いは、Page_Loadのドロップダウンリスト、またはDropDownListのSelectedIndexChangedイベントの前に発生するその他のイベントを再バインドして、選択されたアイテムを削除することです。これが、質問でより多くの情報を表示する必要がある理由です。そうでない場合は、私たち全員が暗闇の中で刺していることがわかります。
Enabled="false"
Javascript で選択を行った後に削除しましたか? そうでない場合は、これを削除してください。それ以外の場合、値は投稿されません。
jQuery の使用:
$("#DropdownlistID").prop('disabled', false);
JavaScript の使用:
document.getElementById("DropdownlistID").removeAttribute("disabled");