C# 如何获取select2的选定文本并在sql语句中使用它
我正在尝试获取select2元素的选定文本,并在自定义sql语句中使用它,该语句将返回json,我将把json呈现给morris条形图……有人能帮我做些什么吗?下面是我目前拥有的代码。提前谢谢 达尔: 服务:C# 如何获取select2的选定文本并在sql语句中使用它,c#,sql,asp.net-mvc-5,jquery-select2,C#,Sql,Asp.net Mvc 5,Jquery Select2,我正在尝试获取select2元素的选定文本,并在自定义sql语句中使用它,该语句将返回json,我将把json呈现给morris条形图……有人能帮我做些什么吗?下面是我目前拥有的代码。提前谢谢 达尔: 服务: public List<BookingTrend> GetBookingTrendList() { List<BookingTrend> bookingtrends = new List<BookingTrend>();
public List<BookingTrend> GetBookingTrendList()
{
List<BookingTrend> bookingtrends = new List<BookingTrend>();
sqlDal dal = new sqlDal();
foreach (DataRow item in dal.GetBookingTrend().Rows)
{
BookingTrend bookingtrend = new BookingTrend();
bookingtrend.weekno = (int)item["WEEKNO"];
bookingtrend.yearno = (int)item["YEARNO"];
bookingtrends.Add(bookingtrend);
}
return bookingtrends;
}
HTML:
<div class="panel panel-info">
<div class="panel-heading">
Booking Trend
</div>
<div class="panel-body">
<div id="booking-trend-bar" style="height: 250px"></div>
</div>
HTML:
<div class="form-group col-lg-3 col-sm-6">
<select class ="form-control" id="SchoolDestinations" style="width:385px;" multiple>
<option></option>
</select>
</div>
文件准备就绪:
$(document).ready(function () {
function createChart(data) {
var mychart = new Morris.Bar({
element: 'booking-trend-bar',
data: data,
xkey: 'Country',
ykeys: ['weekno','yearno'],
labels: ['Week', 'Year']
});
}
$.ajax({
type: "GET",
url: '@Url.Action("BookingTrendRead", "Main")',
dataType: 'json',
success: function (data) {
var data = JSON.parse(data);
createChart(data);
},
error: function () {
alert("Error loading data! Please try again.");
}
});
$("#SchoolDestinations").select2({
minimumInputLength: 0,
placeholder: "School Destinations"
});
$.ajax({
type: 'POST',
url: '@Url.Action("SchoolRead", "Main")',
dataType: 'json',
success: function (data) {
$.each(data, function (i, item) {
$('<option value="' + item.Id + '">' + item.Text + '</option>').appendTo('#SchoolDestinations');
});
},
error: function () {
console.log('err')
}
});
});
您需要从sql字符串中拆分select的名称:
strBuilder.Append("select WEEKNO, YEARNO, SUM(NOOFWEEKS) from BOOKINGTREND where ( SCHOOLCOUNTRY in (" + select2.selectedText + ")) group by weekno, yearno");
您需要从sql字符串中拆分select的名称:
strBuilder.Append("select WEEKNO, YEARNO, SUM(NOOFWEEKS) from BOOKINGTREND where ( SCHOOLCOUNTRY in (" + select2.selectedText + ")) group by weekno, yearno");
表单元素的值是否未与表单一起过帐?或者,如果您使用的是AJAX请求,为什么不发送任何数据?服务器端代码到底在哪里使用?现在还不清楚您在做什么。我现在所拥有的只是ajax来呈现select2元素,我试图做的是获取所选的值并将其绑定到sql语句。但是这些代码实际上是如何组合在一起的呢?是什么用SQL语句调用了这些代码?嗨,David,我已经用整个逻辑更新了这个问题,很抱歉之前没有更好地解释。老实说,你在这里的第一步是学习MVC的基础知识。我可以告诉您,您应该向select元素添加name属性,比如name=schoolDestinations。然后向action方法添加一个参数,类似于:public ActionResult BookingTrendReadstring[]school destinations,但这些建议只有在您不了解所使用框架的基本原理时才会起到作用。更不用说,我甚至不知道你的请求是否是这样设置的。您正在使用ASP.NET MVC,因此您的第一步将是学习ASP.NET MVC。表单元素的值是否不会随表单一起发布?或者,如果您使用的是AJAX请求,为什么不发送任何数据?服务器端代码到底在哪里使用?现在还不清楚您在做什么。我现在所拥有的只是ajax来呈现select2元素,我试图做的是获取所选的值并将其绑定到sql语句。但是这些代码实际上是如何组合在一起的呢?是什么用SQL语句调用了这些代码?嗨,David,我已经用整个逻辑更新了这个问题,很抱歉之前没有更好地解释。老实说,你在这里的第一步是学习MVC的基础知识。我可以告诉您,您应该向select元素添加name属性,比如name=schoolDestinations。然后向action方法添加一个参数,类似于:public ActionResult BookingTrendReadstring[]school destinations,但这些建议只有在您不了解所使用框架的基本原理时才会起到作用。更不用说,我甚至不知道你的请求是否是这样设置的。您正在使用ASP.NET MVC,因此您的第一步将是学习ASP.NET MVC。select2.selectedText从何而来?好的,我回答时完整的代码不在那里,假设有一个同名的服务器端控件,select2.selectedText从何而来?好的,我回答时完整的代码不在那里,假设存在具有该名称的服务器端控件
strBuilder.Append("select WEEKNO, YEARNO, SUM(NOOFWEEKS) from BOOKINGTREND where ( SCHOOLCOUNTRY in (" + select2.selectedText + ")) group by weekno, yearno");