У меня есть dropdownlist в моем представлении и загружает это выпадающее меню со значениями из контроллера. В случае изменения мне нужно передать данные контроллеру, после чего выпадающий список загрузился свежим. Но я хочу сохранить выбранное значение после сообщения на контроллер. Мой JQuery заключается в следующем:Сохранять выпадающее меню выбранное значение после сообщения контроллеру
$.ajax({
url: "/TimesheetModels/GetUsersForTimesheet",
type: "Get",
success: function (data) {
for (var i = 0; i < data.length; i++) {
opt = new Option(data[i].First_Name, data[i].EmpId);
$('#ddlUsers').append(opt); //Load drodown list while page load
}
}
});
$('#ddlUsers').change(function() {
alert($(this).val());
var empId = $(this).val();
startDate = $('#calendar').fullCalendar('getDate').startOf('week');
window.location.href = "/TimesheetModels/TimesheetApproval?selectDate=" + convertDate(startDate) + "&empId=" + empId; //Pass data to controller
alert(empId); // i get this alert before pass to controller
$('#ddlUsers').val(empId);
});
В контроллере у меня есть этот aciton,
public ActionResult TimesheetApproval(string SelectDate,string empId)
{
DateTime startDate;
if (!DateTime.TryParse(SelectDate, out startDate))
startDate = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
int EmpId;
if (empId != null)
EmpId = Convert.ToInt32(empId);
else
{
EmpId = Convert.ToInt32(Session["EmpId"].ToString());
}
string startDateCalendar = Convert.ToString(startDate.ToString("ddd MMM dd yyyy HH:mm:ss")) + " GMT+0530";
ViewData["startDateCalendar"] = startDateCalendar;
DateTime endDate = startDate.AddDays(6);
List<TimesheetMatrix> _timesheetList = _timesheetDetailViewModel.GetAllProjectTasks(startDate, endDate, EmpId);
return View(_timesheetList);
}
Может кто-нибудь помочь мне решить эту проблему?
1. Это 'asp.net'? 2. Вы не отправляете на контроллер, который вы перенаправляете в браузер, хотя ваш JavaScript работает после перемещения, все потеряно, поскольку вся страница повторно запрашивается. Я бы предположил, что вы используете AJAX POST, аналогичный тому, который вы уже сделали, а именно: window.location.href' –
Я использую MVC и хочу передать данные контроллеру – KaviSuja
Да, это MVC, но MVC - это концепция. .. вы используете asp.net? –