2013-02-05 3 views
16

MVC 및 면도기를 사용하여 뷰에서 쿼리 문자열을 설정해야합니다. 여기@ Html.ActionLink 쿼리 문자열을 추가하는 방법

내 코드

Controller: Home 
ActionResult: Daily 
QueryString: DateForLookUp 

@Html.ActionLink("Next Day", "Daily", "Home", new { @DateForLookUp = @Model.AddOneDay() }) 

을 순간에 결과는 내가 잘못 여기서 뭐하는 거지

http://mysite.com/Home/Daily?lenght=4 

그것이

http://mysite.com/Home/Daily?DateForLookUp=01/01/2014 

을해야입니까?

+0

같은 : http://stackoverflow.com/questions/14687638/why-is-mvc-actionlink-not-rendering-correctly/14687749# 14687749 –

답변

22

Html.ActionLink에는 overloads이 많이 있습니다.

그리고 컨트롤러 이름 "Home"을 경로 값으로 해석하는 wrong overload을 사용하고 있습니다. 올바른 overload/sysntax의

하나는 :

이 같은
@Html.ActionLink(
    "Next Day", //linkText 
    "Daily", //actionName 
    "Home", //controllerName 
    new { @DateForLookUp = @Model.AddOneDay() }, //routeValues 
    null //htmlAttributes 
) 
+2

@GibboK 예, 컨트롤러를 지정하지 않아도된다면, 다음과 같은 과부하가 발생합니다. @Hib.Killer.ActionLink ("Next Day", "Daily", new {@DateForLookUp = @ Model.AddOneDay()}) – GibboK

+0

또한 일할 수 있습니다. – nemesv

관련 문제