2017-01-02 4 views
0

私はasp.netアプリケーションを1つ開発しています。 jquery multiselectオプションを使用してasp.net dropdownlistboxを実装しました。ユーザーはdropdownboxlistで複数の値を選択できます。私はbuttonclickイベントのサーバー側でこれらの選択された値を必要とします。私はjavascriptですべての値を選択しています。私はボタンクリックイベント内のすべての値を取得しようとしています。 Ajax以外に、サーバー側で複数の選択された値にアクセスする方法はありますか?どんな助けもありがとう。 これは私のドロップダウンボックスです。asp.netのサーバー側でdropdownlistboxの値を複数取得する方法は?

<h3>Awarded To:&nbsp;<asp:DropDownList ID="ddlvendors" CssClass="limitedNumbSelect2" Multiple="True" runat="server" Width="30%"></asp:DropDownList></h3> 

私は、ページのロードイベントでサーバー側の値をバインドしています。

これは以前のコードです。

$(".limitedNumbSelect2 option").each(function() { 
       var val = $(this).val(); 
       var tempVal = $(".limitedNumbSelect2").val(); 
       if (tempVal.indexOf(val) >= 0 && selected.indexOf(val) < 0) { 
        selected.push(val); 
       } else if (tempVal.indexOf(val) < 0 && selected.indexOf(val) >= 0) { 
        selected.splice(selected.indexOf(val), 1); 
       } 

      }) 

これは、ドロップダウンリストから選択した値に基づいてすべてのチェックボックスを有効にするコードです。

$('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function() { 
    $(this).closest('tr').find('input[type="checkbox"]').prop('disabled', false); 
}); 
+0

あなたは、MVCを使用している場合は、AJAX – ViVi

+0

を使用してポストバックのjQueryを使用した値は、AJAX – Valkyrie

+0

を使用してサーバーにそれらを介して送信取得ご回答いただきありがとうございます。私はシェアポイントビジュアルウェブパーツの中にいる。私はwebpartを使用しているため、私のajax呼び出しは機能しません。だから私はアヤックス以外の試みをしています。 –

答えて

2

以下のようなListBoxを作成します。

<asp:ListBox ID="lstFruits" runat="server" SelectionMode="Multiple"> 
    <asp:ListItem Text="Mango" Value="1" /> 
    <asp:ListItem Text="Apple" Value="2" /> 
    <asp:ListItem Text="Banana" Value="3" /> 
    <asp:ListItem Text="Guava" Value="4" /> 
    <asp:ListItem Text="Orange" Value="5" /> 
</asp:ListBox> 
<asp:Button Text="Submit" runat="server" OnClick="Submit" /> 

次の項目を追加します。

  1. jQueryのJSは
  2. ブートストラップJavaScriptとCSSファイルをファイル。
  3. jQuery BootStrap複数選択プラグインJavaScriptおよびCSSファイル。
  4. 次のようになります

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css" 
    rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/js/bootstrap.min.js"></script> 
<link href="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" /> 
<script src="http://cdn.rawgit.com/davidstutz/bootstrap-multiselect/master/dist/js/bootstrap-multiselect.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('[id*=lstFruits]').multiselect({ 
      includeSelectAllOption: true 
     }); 
    }); 
</script> 

次はループがListBoxの項目の上に実行され、その選択されたプロパティがチェックされている内部のボタンのクリックイベントハンドラです。 Trueを返した場合はItemが選択され、Falseの場合はItemが選択されませんでした。

protected void Submit(object sender, EventArgs e) 
{ 
    string message = ""; 
    foreach (ListItem item in lstFruits.Items) 
    { 
     if (item.Selected) 
     { 
      message += item.Text + " " + item.Value + "\\n"; 
     } 
    } 
    ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('" + message + "');", true); 
} 
+0

ありがとうございます。 –

+0

私は上記のようにほとんど実装されています。データベースからのバインドされた値。クライアントの近くでエラーが発生しています。エラーは、現在のコンテキストにclientcontextという名前が存在しないことを示します。ここに何を含めるべきか分かりますか?ありがとうございます –

+0

あなたのコードビハインドで書いたものであなたの質問を編集できますか?だから私は良いアイデアを得る? – Valkyrie

関連する問題