2017-01-02 71 views
0

我正在开发一个asp.net应用程序。我用jquery multiselect选项实现了asp.net dropdownlistbox。用户可以在下拉列表中选择多个值。我希望在buttonclick事件中的服务器端选择这些值。我正在选择JavaScript中的所有值。我正在尝试获取按钮单击事件中的所有值。除了ajax,有没有办法在服务器端访问多个选定的值?任何帮助,将不胜感激。 这是我的dropdownbox。如何获取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

在将它们发送到服务器谢谢您的答复。我在sharepoint visual web部分。我的ajax调用不起作用,因为我使用的是webparts。所以除了我正在尝试的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文件。

这将是这样的:

<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,则选择该项目,如果为False,则不选择该项目。

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

我是最符合上述实施。来自数据库的绑定值也。我在clientcript附近收到错误消息。错误表示名称clientcontext在当前上下文中不存在。我可以知道这里应该包括什么吗?谢谢你 –

+0

你可以编辑你的问题,你在代码后面写了些什么?所以我得到一个更好的主意? – Valkyrie

相关问题