2013-09-24 5 views
1

ASP.NET에서 C#을 사용하는 웹 사이트에서 작업하고 있으며 데이터베이스에있는 테이블 중 하나의 내용을 표시하는 격자보기가있는 페이지가 있습니다 . 필드는 이름, 설명, 등급, 요법과 같이 일반적입니다. 제 질문은 항목 중 하나를 클릭하면 모든 정보가 좋은 형식으로 표시되는 새로운 .aspx 페이지로 연결되도록 만드는 방법입니다. 내가 말하는 것에 대한 예가 http://www.imdb.com/chart/top?ref_=nv_ch_250_4에 있습니다.사용자가 선택한 데이터베이스 항목의 새 .aspx 페이지에 연결

내 연구에서 나는이 질문을 올바르게 할 수없는 나의 무능력 때문에 아마도 답을 찾지 못했습니다. 나는 당신이 물리적으로 새로운 엔트리에 대해 새로운 페이지를 생성한다고 가정하지 않는다. 왜냐하면 많은 데이터베이스 엔트리가 있다면 미칠 수 있기 때문이다. 전달 된 특정 값을 기반으로 필수 필드를 자동으로 채우는 한 페이지가 만들어 져야한다. 선택한 데이터베이스 항목에서 또는 사용자가 내 데이터베이스에 새 항목을 삽입 할 때 새 .aspx 페이지를 만들어야합니까? 이 질문은 꽤 오랫동안 붙어 있었기 때문에 당신이 제공 할 수있는 어떤 방향으로도 감사 할 것입니다!

+0

행의 세부 정보를 채우는 새 팝업을 열 수도 있습니다. 링크 열을 추가하여이를 달성 할 수 있고 클릭하면 내용이 포함 된 페이지를 열 수 있습니다. –

+0

예제에서 모든 쿼리 문자열 값이 같은 동일한 페이지에 모두 착륙합니다. URL 재 작성은 사용자 친화적 인 URL에 사용됩니다. –

답변

0

그리드의 모든 행에 대해 간단한 하이퍼 링크를 만들면 하이퍼 링크의 URL에 ID 또는 이름과 같은 해당 항목에 대한 참조가 포함되어야합니다. 링크를 클릭하면 ID를 쿼리 문자열의 두 번째 페이지로 전달합니다. 두 번째 페이지에서 id (request.querystring)를 읽고 그에 따라 세부 사항을 표시하십시오. > 하이퍼 링크 만들기 : 이것이 그 한 가지 방법입니다. 그리드에 itemtemplate 열을 추가하십시오.

  <Columns> 
      <asp:TemplateField > 
       <ItemTemplate> 
         <a href="products.aspx?ID=<%# Eval("ID") %>"> View Details </a> 
       </ItemTemplate> 
      </asp:TemplateField> 
      </Columns> 
+0

안녕하세요 Kiran, 제안 된 접근 방식은 SEO 관점에서 좋지 않습니다. 나는 또한 WordPress와 같은 방식으로 모든 게시물에 대해 고유 한 페이지를 만드는 방법을 찾고 있습니다. – user3816325

0

브라이언,

당신은 그 테이블에서 모든 항목을 처리 ONLY ONE 새 페이지를 가질 것이다. 이 페이지를 작성하여 그리드의 레코드 중 하나에 해당하는 ID로 URL에서 쿼리 문자열을 읽어야합니다. 표에서 URL을 통해 새로 생성 된 페이지가 데이터베이스에서 해당 레코드를 검색하여 새 페이지를 채울 수있는 적절한 ID로 레코드 당 링크를 구성하십시오.

예를 들어, 그리드의 행 중 하나의 링크는 다음과 같이 수 :

/NewPage.aspx?id=123

그런 다음 새 페이지에서 사용자가 생성 (NewPage.aspx) 전달 된 ID를 가져 와서 그에 따라 페이지를 채 웁니다. 예 :

string id = Request.QueryString [ "id"];

관련 문제