날짜

2016-06-23 2 views
0

나는 아래의 URL을 변환하려고날짜

https://localhost:44322/BankHoliday/NewBankHoliday?holidayDate=08%2F25%2F2016%2000%3A00%3A00&countryID=GBR

https://localhost:44322/BankHoliday/NewBankHoliday/holidayDate/08-25-2016/countryID/GBR

에 대한 MVC 5 사용자 정의 경로를 만들어이 코드를 시도했지만 그것은

routes.MapRoute(
       null, 
       "{holidayDate}/{countryID}", 
       new { Controller = "BankHoliday", action = "NewBankHoliday" }, new { holidayDate = @"\d{2}-\d{2}-\d{4}" } 
      ); 
작동하지 않습니다
+0

가 어떻게 URL을 생성하는 뷰에있는 링크를 생성하는? –

+0

@Html.ActionLink @ Html.ActionLink ("MY DATA", "NewBankHoliday", 새 {holidayDate = item.BankHolidayDate, countryID = item.CountryID}, 새로운 {@class = "glyphicon glyphicon-trash"}) – maxspan

답변

2

BankHoliday/NewBankHoliday/holidayDate/08-25-2016/countryID/GBR의 URL을 얻으려면 경로 정의가

이어야합니다.
routes.MapRoute(
    name: "Bank", 
    url: "BankHoliday/NewBankHoliday/holidayDate/{holidayDate}/countryID/{countryID}", 
    defaults: new { controller = "BankHoliday", action = "NewBankHoliday"} 
); 

이며 기본 경로 앞에 있습니다. 그것은 BankHoliday/NewBankHoliday/08-25-2016/GBR

그런 다음 컨트롤러 방법은

public class BankHolidayController : Controller 
{ 
    public ActionResult NewBankHoliday(DateTime holidayDate, string countryID) 
    { 
     .... 

는 가정으로 당신이

url: "BankHoliday/NewBankHoliday/{holidayDate}/{countryID}", 

생성하는 것입니다 경로와보다 일반적인 URL의 텍스트 holidayDatecountryID을 원하는 이유는 명확해야합니다 서버의 culture는 MM-dd-yyyy 형식의 날짜를 허용합니다.

과 (`Html.ActionLink()`사용)

@Html.ActionLink("Your Link Text", "NewBankHoliday", "BankHoliday", new { holidayDate = "08-25-2016", countryID = "GBD"}, null) 
+0

@ Html.ActionLink @ Html.ActionLink ("MY DATA", "NewBankHoliday", 새 {holidayDate = item.BankHolidayDate, countryID = item.CountryID}, 새 {@class = "글리프콘 글리프콘 - 쓰레기"}) – maxspan

+0

https : // localhost : 44322/BankHoliday/NewBankHoliday/08/25/2016 % 2000 % 3a00 % 3a00/GBR에서 예외가 발생합니다. 잠재적으로 위험한 Request.Path 값이 클라이언트 (:)에서 감지되었습니다. – maxspan

+1

@maxspan -'holidayDate'에는 슬래시가 아닌 대시로 포맷 된 문자열이 포함되어 있는지 확인해야합니다. –