0

HTML選択コントロール(.netサーバーコントロールDropDownListではない)を使用していますが、サーバー側から特定の値で選択されたアイテムを設定したいのですが、これを行うにはどうすればよいですか。サーバー側のテクノロジとして asp.net を使用しています。

以下は私の選択ボックスです。そして、runnat="server" プロパティを追加したくありません

<select id="ddlPriceBetween" name="ddlPriceBetween">
    <option value="0" selected="selected">All</option>
    <option value="1">Less than 10,000 Rs. </option>
    <option value="2">10,000 - 20,000 Rs. </option>
    <option value="3">20,000 - 30,000 Rs. </option>
    <option value="4">30,000 - 40,000 Rs. </option>
    <option value="5">40,000 - 50,000 Rs. </option>
</select>
4

3 に答える 3

0

ASP.NET では、通常、Postback モデルでより適切に機能するサーバー側コントロールを使用することになっています。したがって、同等のものを使用できます:

<asp:DropDownList ID="filterResultsBy" runat="server" CssClass="ddlFilter">
    <asp:ListItem Value="" Text="Select..." />
    <asp:ListItem Value="Date" Text="Date" />
    <asp:ListItem Value="Subject" Text="Subject" />
    <asp:ListItem Value="Status" Text="Status" />
</asp:DropDownList>

これにより、コード ビハインドで filterResultsBy 変数にアクセスし、現在選択されている値を取得できます。jQuery などのクライアント スクリプト ライブラリでこれを機能させるには、クラスを追加し、ID セレクターの代わりにクラス セレクターを使用します。これは、ASP.NET サーバー側コントロールで発生する名前マングリングのためです。

$('.ddlFilter').change(function() {
    var sel = $(this).val(); 
    if(sel === 'DATE') { 
        hideAll(); // a function to hide all the divs first 
        $('#divDateRangeSearch').show(); 
    } else if (sel === 'SUBJECT') { 
        ///so on... 
    } 
});
于 2012-12-11T11:16:30.897 に答える
-1

.cs ページの HTML コントロールにアクセスすることはできません。したがって、あなたの場合、次のように選択コントロールにrunatサーバーを配置します

 <select id="ddlPriceBetween" name="ddlPriceBetween" runat="server">
      <option value="0" selected="selected">All</option>
      <option value="1">Less than 10,000 Rs. </option>
      <option value="2">10,000 - 20,000 Rs. </option>
      <option value="3">20,000 - 30,000 Rs. </option>
      <option value="4">30,000 - 40,000 Rs. </option>
      <option value="5">40,000 - 50,000 Rs. </option>
 </select>

あなたの.csコードは

 ddlPriceBetween.SelectedIndex=yourindex.
于 2012-12-11T11:28:35.517 に答える