C# 如何获取select2的选定文本并在sql语句中使用它

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>();

我正在尝试获取select2元素的选定文本,并在自定义sql语句中使用它,该语句将返回json,我将把json呈现给morris条形图……有人能帮我做些什么吗?下面是我目前拥有的代码。提前谢谢

达尔:

服务:

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");