2010-06-24 3 views
1
내 경로

라우팅

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

       routes.MapRoute(
        "CustomRoute", 
        "{controller}.mvc/{action}/{id}/{recid}", 
        new { action = "Index", id = "", recid = UrlParameter.Optional } 
       );    

      routes.MapRoute(
       "Root", 
       "", 
       new { controller = "Account", action = "Index", id = "", recid = 

UrlParameter.Optional 
); 

/컨트롤러/액션/ID를 가진 페이지가 제대로 렌더링에 추가 매개 변수를 추가하려고 만하고

전/컨트롤러/액션/ID로 페이지를 호출 할 때/내가 다음 RouteData.Values에서 올바른 값을 얻지 못하고 있습니다. RouteData.Values는 처음에는 올바른 값을 갖습니다. 하지만 그 함수 후 다시 자신을 호출하고 RouteData.Values은 세 가지 값보다는 사를 가지고 있으며 id 필드는 렌더링 페이지가에 ressource의 prompt.js을 포함

protected override void Initialize(System.Web.Routing.RequestContext requestContext) 
     { 
      base.Initialize(requestContext); 
      var RouteValue = requestContext.RouteData.Values; 
      String p = RouteValue.ToString(); 
      this._DocumentID = String.IsNullOrEmpty(RouteValue["id"].ToString()) ? 2 : Convert.ToInt32(RouteValue["id"]); 
      FormsIdentity ident = User.Identity as FormsIdentity; 
      if (ident != null) 
      { 
       FormsAuthenticationTicket ticket = ident.Ticket; 
       UserData = ticket.UserData; 
       this._UserID = Convert.ToInt32(UserData.Split('|')[0]); 
       this._RoleID = Convert.ToInt32(UserData.Split('|')[1]); 
       this._EmployeeID = Convert.ToInt32(UserData.Split('|')[2]); 
      } 
     } 

답변

0

에 prompt.js있다. 이 파일을 제거하거나 .js로 끝나는 요청을 무시하도록 경로를 변경하십시오.

+0

하지만 {controller} .mvc/{action}/{id}를 사용하여 동일한 페이지를 렌더링하고 recid를 쿼리 문자열 매개 변수로 사용하면 모든 것이 잘 작동합니다 – Tassadaque