У меня есть три метода результата действия с одинаковым именем, и все они являются типами [httpPost]. Я использую атрибутную маршрутизацию, чтобы связать эти методы, когда добавляю атрибутную маршрутизацию, не вызванную этим методом, но когда я удаляю атрибут маршрутизации из любого из этих методов, вызывается только этот метод. пожалуйста, направь меня туда, где я делаю неправильно. Заранее спасибо.
Первый метод
[HttpPost, ValidateAntiForgeryToken]
[Route("Home/PrintFileMovement/{option}/{SearchBox}")]
public ActionResult PrintFileMovement(string option, string SearchBox)
{
FileMovementManagementSystem.FileViewModel.FileViewModel fvm = new FileMovementManagementSystem.FileViewModel.FileViewModel();
List<File_Movement> fileMovementModel;
if (option == "DiaryNo")
{
//FileMovementManagementSystem.FileViewModel.FileViewModel fvm = new FileMovementManagementSystem.FileViewModel.FileViewModel();
fileMovementModel = fvm.SearchFileByDiaryNo(SearchBox);
return View(fileMovementModel);
}
else if (option == "Subject")
{
// FileMovementManagementSystem.FileViewModel.FileViewModel fvm = new FileMovementManagementSystem.FileViewModel.FileViewModel();
fileMovementModel = fvm.SearchFileBySubject(SearchBox);
return View(fileMovementModel);
}
fileMovementModel = fvm.GetFileMovement();
return View(fileMovementModel);
}
Второй метод, который работает нормально без атрибутов маршрутизации
[HttpPost, ValidateAntiForgeryToken]
[Route("Home/PrintFileMovement/{option}/{Date:datetime}")]
public ActionResult PrintFileMovement(string option, DateTime? Date)
{
FileMovementManagementSystem.FileViewModel.FileViewModel fvm = new FileMovementManagementSystem.FileViewModel.FileViewModel();
List<File_Movement> fileMovementModel;
if (option == "ReceiveDate")
{
fileMovementModel = fvm.SearchFileByReceiveDate(Date.Value);
return View(fileMovementModel);
}
fileMovementModel = fvm.GetFileMovement();
return View(fileMovementModel);
}
А вот и третий метод
[HttpPost, ValidateAntiForgeryToken]
[Route("Home/PrintFileMovement/{MyDate:datetime}")]
public ActionResult PrintFileMovement(DateTime? MyDate)
{
FileMovementManagementSystem.FileViewModel.FileViewModel fvm = new FileMovementManagementSystem.FileViewModel.FileViewModel();
List<File_Movement> fileMovementModel = fvm.SearchFileByReceiveDate(MyDate.Value);
return View(fileMovementModel);
}
RouteConfig
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Login", id = UrlParameter.Optional }
);
}