Как рассчитать «общее», используя Javascript и SQL? - PullRequest
0 голосов
/ 27 декабря 2018

Я хочу рассчитать сумму сумм и показать ее при выборе значения из раскрывающегося списка.это запрос в SQl Server;

select Sum(Total) from tbl_CordinatorPayments where fk_repId=2

Итак, это мой выпадающий список;

<select name="selectCity" id="CityDDL" class="form-control" onchange="getValue()">
                <option value="-1">--Select Rep--</option>
                @foreach (var item in ViewBag.reps)
                {
                    <option value="@item.id">@item.Name</option>
                }

            </select>

и я получаю Id значения из выпадающего спискаиспользуя это;

function getValue() {
    var value = $("#CityDDL").val();
}

Итак, я хочу, чтобы, когда пользователь выбирает любое значение из выпадающего списка, он выполнял этот запрос Sql;

"select Sum(Total) from tbl_CordinatorPayments where fk_repId=Id from the drop down"

В формате LINQ илиФормат запроса Entity Framework и итог должны быть отображены в

<p id="Total"></p>

Я не знаю, как получить значение Id из выпадающего списка и использовать его в предложении where запроса.

ЛюбойПомощь будет оценена.Спасибо!!!

1 Ответ

0 голосов
/ 27 декабря 2018

В jquery вам нужно вызвать контроллер mvc или API для получения общего значения, как показано ниже

function getValue() {
    var value = $("#CityDDL").val();

    $.ajax({
        url: '<%: Url.Action("yourActionMethod")%>',
        data: { 'id' : value},
        type: "post",
        cache: false,
        success: function (result) {
            $('#Total').text(result);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            $('#Total').text("Error encountered while getting total");
        }
    });
}

В контроллере MVC

    [HttpPost]
    public ActionResult yourActionMethod(int id)
    {          
         var result = _db.tbl_CordinatorPayments.Where(cp => cp.fk_repId == id).Sum(cp => cp.Total);
         return result;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...