는 최근 VS.NET 2010/C# 4.0에 VS.Net 2008/C# 3.5에서 내 ASP.Net MVC 1 애플리케이션을 마이그레이션..Net 4/VS 2010에서 LinkBuilder.BuildUrlFromExpression이 더 이상 작동하지 않습니까?
강력한 형식의 호출에서 URL 문자열을 가져 오기 위해 빌더를 대량으로 사용했습니다. 그것은 다음과 같습니다
// sample call :
string toSamplePage = Url.To<SampleController>(c => c.Page(parameter1, parameter2));
코드는 기본
UrlHelper의 확장으로 추가됩니다
:
public static string To<Tcontroller>(UrlHelper helper, Expression<Action<Tcontroller>> action) where Tcontroller : Controller
{
// based on Microsoft.Web.Mvc.dll LinkBuilder
return LinkBuilder.BuildUrlFromExpression<Tcontroller>(helper.RequestContext, helper.RouteCollection, action);
}
이의 유일한 문제, Microsoft.Web.Mvc의 DLL에 대한 참조입니다 , 그러나 가독성의 이득은 그만한 가치가있었습니다.
문제 : 더 이상 작동하지 않으며 매개 변수가 무엇이든 반환합니다 (null).
질문 :
표현의 링크를 구축하기 이제 더 나은 방법이 무엇입니까? (예, 성공하지 않고 시도해 보았습니다.)
이전 LinkBuilder.BuildUrlFromExpression을 사용하는 것이 트릭입니까? C# 4.0으로 다시 컴파일하려고했지만 문제는 옵션이 아닌 내 컴파일 된 버전의 System.Web.Mvc에서 작동한다는 것을 의미합니다. 귀하의 제안에 대한
나는 현재 MVC 2로 마이그레이션하기 위해 노력하고있어하지만 난 여전히 문제가 ... 기다리는 중 ...