2012-02-28 6 views
-1

저는 C#과 SQL 데이터베이스를 사용하고 있습니다. db에는 아이템에 대한 정보 (ID, 이름 등)가 저장됩니다.고유 한 이름으로 페이지를 저장하는 방법은 무엇입니까?

이제는 템플릿으로 사용하고 /Item.aspx?id=223과 같은 URL에 아이템 ID를 전달하는 항목이있는 페이지가 있습니다. 모든 항목에 대한 페이지를 만들고 /Items/Red-Book.aspx와 같은 폴더에 저장하고 싶습니다. 제안 사항이 있으십니까?

감사합니다, 월트

+0

문제는 모호, 당신은 URL을 다시 작성하는 방법을 물어? 따라서 쿼리 문자열의 id 매개 변수 대신 제품 이름을보고 싶습니까? – markpsmith

+0

모양 : https://www.google.com/search?q=asp.net+rewrite+url – Aristos

답변

0

당신은 물리적 페이지를 저장할 필요가 없습니다. 당신이 제공하는 ItemiId에 따라 내용을 생성 할 Item.aspx 한 페이지 만 있으면됩니다. (질문에서 설명한 것과 같은 방식으로)

URL을 다시 작성하는 방법을 살펴보아야합니다.

다시 작성 URL의 기능은 사용자가 요청한 URL을 취하여 다른 URL로 다시 쓰는 것입니다.

사용자 요청이 /Items/Red-Book.aspx URL이 /Item.aspx?id=223 개봉에 rewrited됩니다 ASP.NET이 /Item.aspx?id=223를 다시로드됩니다 클라이언트에게.

당신은 다음과 같이 될 것이다 당신이 당신의 URL.The 논리를 다시 작성 Application_BeginRequest에서 호출 할 수있는 방법의 RewritePath 사용할 수있다 :

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    var currentPath = HttpContext.Current.Request.Path; 
    // do some logic to generate newPath 
    var newPath = GetNewPath (currentPath); 
    HttpContext.Current.RewritePath(newpath); 
    // after this point ASP.NET will work as the user would have requested newpath 
} 
관련 문제