2011-02-09 2 views
0

asp.net 4.0에서 URL 라우팅을 구현하려고합니다. 난 그냥 작은 테스트 응용 프로그램을 만들었습니다. 폴더 안에 보관 된 페이지를 탐색하려고합니다. Visual Studio에서 실행 중일 때 작동합니다. 그러나 IIS7에서 응용 프로그램을 호스팅 할 때 오류가 있음을 보여줍니다.asp.net 4.0의 폴더 안에있는 페이지의 URL 라우팅?

HTTP 오류 404.0 - 찾을 수 없음 찾고있는 리소스가 제거되었거나 이름이 변경되었거나 일시적으로 사용할 수 없습니다.

제가 사용되는 코드이다. (내가 너무 마스터 페이지를 사용하고 있습니다.)

protected void Application_Start(object sender, EventArgs e) 
    { 
     CustomRouteTable(RouteTable.Routes); 
    } 

void CustomRouteTable(RouteCollection routes) 
    { 
     routes.MapPageRoute("Telugu", "Movie/Telugu", "~/Telugu/Telugu.aspx"); 

    } 

을 내 Default.aspx 페이지에서 내가 버튼을 유지하고 버튼의 클릭에 내가 썼다.

protected void btnTelugu_Click(object sender, ImageClickEventArgs e) 
     { 
      Response.RedirectToRoute("Telugu"); 
     } 

어디로 가고 있습니까? 감사합니다. .

답변

0

IIS7에서 URL 라우팅을 지원하도록 web.config를 업데이트했습니다.

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 

     <add name="UrlRoutingModule" 
      type="System.Web.Routing.UrlRoutingModule, 
        System.Web.Routing, Version=3.5.0.0, 
        Culture=neutral, 
        PublicKeyToken=31BF3856AD364E35" /> 
     <!-- ... --> 

    </modules> 
    <handlers> 

     <add name="UrlRoutingHandler" 
      preCondition="integratedMode" 
      verb="*" path="UrlRouting.axd" 
      type="System.Web.HttpForbiddenHandler, 
        System.Web, Version=2.0.0.0, Culture=neutral, 
        PublicKeyToken=b03f5f7f11d50a3a" /> 
     <!-- ... --> 

    </handlers> 
</system.webServer> 

다음은 어디서 왔는지 나와있는 예제입니다. 자세한 내용을 알려 드리겠습니다. 내가 위의 코드 내 설정 파일을 업데이트 확인

http://msdn.microsoft.com/en-us/magazine/dd347546.aspx

+0

? 그리고 내가 ASP.NET 4.0 (응용 프로그램 풀)에서 내 IIS에서 호스팅하고 작동 ...하지만 3.5와 2.0의 참조를 보여줄 필요가 있었나요? –

1
protected void btnTelugu_Click(object sender, ImageClickEventArgs e) 
{ 
    Response.RedirectToRoute("Movie/Telugu"); 
}