У меня проблема с маршрутизацией. Я использую функцию JavaScript ниже, чтобы сделать запись в мой контроллер StudentSearch. Когда я сделал сообщение, он передал только первый параметр. Ожидается нулевая страница; однако дата начала и окончания даты имеет значения даты, но оба параметра равны нулю. Что мне здесь не хватает? Я прочитал документацию и выполнил поиск в Интернете, и пока у меня не было никакого успеха.ASP.NET MVC 4 Route Issue
//Javascript function
findStudent function()
{
var SearchValue= $("#Search").val();
var StartDate = $('#StartDate').val();
var EndDate = $('#EndDate').val();
var url = '@Url.Action("Search")';
location.href = url + "/" + SearchValue + "/" + StartDate +"/" + EndDate+;
}
//This is the ActionResult in the controller
public ActionResult Search(string SearchValue, string StartDate , string EndDate)
{
//EndDate and STart Date are null here.
}
//the route section in my RouteConfig.cs file
routes.MapRoute(
name: "Search",
url: "StudentSearch/Search/{SearchValue}/{StartDate}/{EndDate}",
defaults: new { controller = "StudentSearch", action = "Search",
SearchValue = UrlParameter.Optional,StartDate=UrlParameter.Optional,
EndDate = UrlParameter.Optional}
);
обновление в 02:50 вечера: После прочтения Chris комментарий, я изменил код. Он не направлялся на контроллер StudentSearch. Вместо этого я получил 404 страницы. Как вы можете видеть, я прошел в Jane для searchvalue и student1, student2 соответственно для начала и конца (это не было проблемой, так как для параметра ожидается строка). .../StudentSearch/Поиск/Jane/student1/student2
Я боролся и не мог понять, почему он не работает. Мне пришлось перезагрузить компьютер из-за некоторых необходимых обновлений. Я снова запустил приложение, и он сработал. – user3802347