У меня есть ASP.NET MVC 4 приложения имеет следующие действия: Индекскак перенаправить на другое действие на контроллере mvc?
public ActionResult Index()
{
if (User.IsInRole("dealer"))
{
return View(db.Commissions.Where(c => c.Dealer.Name == User.Identity.Name));
}
else
{//admin
return View(db.Commissions);
}
}
Я хотел бы перенаправить мою страницу на другую Mvc действия называется фильтром, но не может сделать это с этим кодом:
$(function() {
jQuery.noConflict()
$("#datefrom").datepicker();
$("#dateto").datepicker();
$("#btnfilter").click(function() {
$.ajax({
type: "get",
url: "/commissions/filter/",
data:{'from':$("#datefrom").val(),to:$("#dateto").val()}
,success: function(result){
if(result.Success){
window.location = "/Filter/Commissions" + $("#datefrom").val() + $("#dateto").val();
}
}
});
});
});
это действие фильтра:
public ActionResult Filter(DateTime from, DateTime to)
{
if (User.IsInRole("dealer"))
{
return View(db.Commissions.Where(c => c.Dealer.Name == User.Identity.Name && c.CreatedDate>=from && c.CreatedDate <=to));
}
else
{//admin
var test = db.Commissions.Where(c => c.CreatedDate >= from && c.CreatedDate <= to);
return View(db.Commissions.Where(c=>c.CreatedDate >= from && c.CreatedDate <= to));
}
}
действие фильтр встряхивать на сервере, но я получаю следующее сообщение об ошибке, когда я смотрю в стельку:
[InvalidOperationException: The view 'filter' or its master was not found or no view engine supports the searched locations. The following locations were
Как я могу это исправить?
Существует ли файл вида Filter.cshtml? –
Я думаю, что при успешном вызове ajax вы передаете неправильный url. Вместо «/ Filter/Commissions» необходимо использовать «/ Commissions/Filter» – 111