2014-11-17 2 views
0

나쁜 제목으로 죄송합니다.이 문제를 설명하는 방법을 모르겠습니다. 어떤 제안이라도 환영합니다. 나는 하나 개의 큰 asp.net 프로젝트 (C#을)이 구현해야 - 사용자는이 양식에 있어야 브라우저에서 일부 URL을 입력 : M1234N과 2는 몇 가지 예제 값은URL을 기반으로 동적으로 리디렉션되는 페이지를 만드는 방법

http://servername/directory/M1234N/2   

그 수 사용자 요구에 따라 달라질 수 있습니다. 두 값을 기반으로 페이지를 다른 페이지로 리디렉션해야합니다. 기본적으로 프로그램은 URL에서이 두 값을 추출하여 리디렉션 할 위치를 계산해야합니다. 이것도 가능합니까? 감사합니다. 추석 게시물과 제목이 유감스럽게 생각합니다. 언제든지 언제든지 수정 해주세요.

+1

MVC 또는 WebForms? – Richard

+0

첫째, M1234N과 2는 어디에서 특정 URL을 제공해야한다고 정의합니까? 생성 알고리즘은 무엇입니까? 정적인가 동적인가? –

+0

정적 URL이라고 가정하면 URL 라우팅이 필요하다고 생각합니다! – yogi970

답변

3

그래도 가능합니다. 처음에는 쿼리에서이 값을 읽어야합니다. 이를 위해, 당신은

string url = HttpContext.Current.Request.Url.AbsoluteUri; 

는 그런 다음 "/"에 기반을 분할해야하는 URL을 읽어야합니다.

string[] splittedUrl = text.Split('/').ToArray(); 

그의 마지막 두 요소 당신이 원하는 것 당신이 배열을 얻을 것이다이 방법 : 페이지를 찾을 수 val2 이제 val1에 따라

string val1 = splittedUrl[splittedUrl.Length-1]; 
string val2 = splittedUrl[splittedUrl.Length-2]; 

을하고 사용자를 리디렉션 할 다른 경우와 마찬가지로 리디렉션 할 수 있습니다.

+1

그는 브라우저에 URL을 직접 전달하고 있으며, 사용자의 메서드에 대해이 페이지로드시 추가 페이지가 필요하다고 생각합니까? 아니면 URL 라우팅이 좋을 것이라고 생각합니다. 직접 리디렉션을위한 – yogi970

+0

이것은 정확하게 내가 한 것입니다. 그러나 그것은 효과가 없습니다. 그 부분은 쉽습니다. 문제는이 페이지를 VS 프로젝트에 저장하는 방법입니다. 내가 어떻게 든 그것을 예를 들면. 브라우저에 입력 할 때 RedirectPage.aspx : http : // localhost/RedirectPage/M1234N/2 오류가 발생합니다. –

+0

먼저 정의해야 할 것은 M1234와 2가 무엇입니까? 이 값이 표시하려는 페이지와 어떻게 관련되어 있는지를 나타냅니다. 그런 다음 페이지와이 값 사이를 연결할 수 있습니다. 이 값과 내가 보여주고 자하는 페이지와의 관계에 대한 힌트를 주면 어떻게 할 수 있는지 알 수 있습니다. 덕분에 – Christos

0

이 방법을 사용하십시오.

  1. 응용 프로그램 beginRequest 모든 부탁으로 당신을 위해 호출되는이 방법에서는 ILE

    void Application_BeginRequest(object sender, EventArgs e) 
    
    { 
    
          string para2; 
    
          string para1; 
    
          string CurrentPath = Request.Path.ToLower(); 
    
         if (CurrentPath.Contains("http://servername/directory")) 
         { 
    
          //Get the two parameters from the url, here i am assuming that directory is static 
          //If not then you can change below two line for getting the passed parameters from url. 
          //I think it is easy task just use some string functions   
          para2 = CurrentPath.Substring(CurrentPath.LastIndexOf("/")); 
          para1 = CurrentPath.Substring(CurrentPath.IndexOf("directory"), CurrentPath.LastIndexOf("/"));  
          //Now work on these parameters and calculate the redirect page. 
    
          //Replcing the httpcontext with new page 
          HttpContext MyContext = HttpContext.Current; 
          MyContext.RewritePath("path of your new page according calculations"); 
         } 
        } 
    

    에게 Global.asax에이 방법을 추가 프로젝트에 Global.asax 파일을 추가 현재 url에 대한 작업.

+0

죄송합니다. 작동하지 않았다. beginREquest가 호출되지 않는 것 같습니다. –

+0

이 메소드에 중단 점을 추가하고 global.asax 페이지 – yogi970

+0

에이 코드를 작성했는지 확인하거나 global.asax 파일 및 해당 메소드에 대해 학습하십시오. 이는 쉽게 방향 재 지정 요청을 처리하는 올바른 방법입니다. – yogi970

관련 문제