Я использую Ajax для отправки значения в мой контроллер с точки зрения:Кнопка не посылает на правильный взгляд
Посмотреть, где собрана информация для отправки к другому контроллеру:
@using (Html.BeginForm(null, null, FormMethod.Get, htmlAttributes: new { id = "GenerateForm" }))
{
<div class="form-horizontal">
<div class="form-group">
@Html.Label("Choose AC:", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("AC", null, "-- Select AC --", htmlAttributes: new { id = "AC", @class = "form-control" })
</div>
</div>
</div>
<div class="form-horizontal">
<div class="form-group">
@Html.Label("Choose Month:", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Months", null, "-- Select Month --", htmlAttributes: new { id = "Month", @class = "form-control" })
</div>
</div>
</div>
<div class="form-horizontal">
<div class="form-group">
@Html.Label("Year:", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("Years", null, "-- Select Year --", htmlAttributes: new { id = "Year", @class = "form-control" })
</div>
</div>
</div>
<br />
<input type="submit" id="SendToController" class="btn btn-primary" value="Generate" />
}
<script type="text/javascript">
$('#SendToController').on('click', function() {
sendToController();
return false;
});
function sendToController(){
var selectedAC = $('#AC').val();
var selectedMonth = $('#Month').val();
var chosenYear = $('#Year').val();
$.ajax({
url: '/MonthReports/Generate',
data: { 'id' : selectedAC, 'monthValue' : selectedMonth, 'year' : chosenYear },
type: 'GET',
cache: false,
success: function(data){},
});
}
контроллер Метод:
public ActionResult Generate(int id, int monthValue, string year)
{
List<DailySum> lstDailySum = db.DailySum.Where(x => x.AID == id && x.Day.Month == monthValue + 1 && x.Day.Year.ToString() == year && x.deleted == false).ToList();
List<string> lstInc = lstDailySum.Select(x => x.codeAC.text).Distinct().ToList();
List<MReport> lstMReport = new List<MReport>();
foreach (var inc in lstInc)
{
MReport mReport = new MReport();
mReport.Inc = inc;
mReport.Count = lstDailySum.Where(x => x.codeAC.text == incident).Count();
lstMReport.Add(mReport);
}
return View(lstMReport);
}
Теперь значения передаются при нажатии кнопки, и весь метод работает, за исключением того, что вид не отображается. Он просто остается в представлении, где была нажата кнопка ... no Generate View появляется.
Я установил точку останова в представлении «Создать», и он попадает, но представление не отображается?
Я не знаю, как это объяснить. Код cshtml поражен точкой останова, но страница не отображается. Она просто остается на странице, на которой была нажата кнопка.
Любая помощь приветствуется.
Это было. Большое вам спасибо за помощь! –