c# - 从下拉列表 Select2 中的多个值中获取选定值
问题描述
在选择所有需要的国家后,我将点击提交按钮。我的问题是如何从 ddl1 获取所有选定的值。
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.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 () {
$(".js-example-placeholder-single").select2({
placeholder: "Select",
allowClear: true
});
});
</script></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<h2>
Upload Attachment
</h2>
<div>
<br /><br />
<asp:Label ID="Label2" runat="server" Text="Attachment : " class="form-control"></asp:Label>
<asp:FileUpload ID="FileUpload1" runat="server" class="form-control"/>
<br /><br />
<asp:Label ID="Label1" runat="server" Text="Plase select Staff No : " class="form-control"></asp:Label>
<asp:DropDownList ID="ddl1" Width="300px" runat="server" multiple="multiple" CssClass="form-control js-example-placeholder-single" ToolTip="Select " OnSelectedIndexChanged="ddl1_SelectedIndexChanged">
</asp:DropDownList>
<br /><br />
<asp:Button ID="btnUpload" runat="server" Text="Upload Attachment" OnClick="btnUpload_Click"/>
<br /><br />
</div>
</asp:Content>
这是后面的 C# 代码
private void PopulateDropDownList()
{
String strConnString = ConfigurationManager.ConnectionStrings["conn1"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp_User";
cmd.Connection = con;
try
{
con.Open();
ddl1.DataSource = cmd.ExecuteReader();
ddl1.DataTextField = "IDName";
ddl1.DataValueField = "StaffNo";
ddl1.DataBind();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
con.Dispose();
}
}
protected void btnUpload_Click(object sender, EventArgs e)
{
string message = "";
string rnonow = DateTime.Now.ToString("yyyyMMdd_hhmmss");
GetUploadRno();
rnoUploaded = rno;
Label4.Text = ddl1.SelectedValue; //this is where i'm stuck on how to call the ddl1 selected value. This code just only get the 1st selected value only eg : Brazil only not the other 2 below.
//below is my trial to get the selected value but fail
//foreach (ListItem item in ddl1.Items)
//{
// if (item.Selected)
// {
// insert statement here
// }
//}
}
请帮忙。谢谢
解决方案
您不能使用 DropDownList 进行多选。使用列表框,例如
<asp:ListBox ID="ddl" runat="server" SelectionMode="Multiple" CssClass="form-control js-example-placeholder-single" ToolTip="Select">
</asp:ListBox>
在代码隐藏中:
foreach (ListItem item in ddl.Items)
{
if (item.Selected)
{
var text = item.Text;
var value = item.Value;
}
}
推荐阅读
- javascript - 如何将 mailjet 发送 API 集成到 Node.js 路由?
- c++ - 矩阵类运算符 + 和 * 以段错误结束
- r - 如何格式化DT背景*每行*?
- python - 从包含列表的字符串列表中返回列表列表
- .htaccess - 为什么 .html 扩展的 url 重写不起作用?
- c++ - 具有相同方法的静态和非静态版本是不好的设计吗
- c# - 射线中的 GetPoint() 但具有填充和角度
- symfony - Symfony 4如何在制作普通课程时自动连接字符串?
- android - 在 onMessageReceived 中显示默认通知
- java - 如何根据选项值获得左/右