2012-12-11 5 views
0

검색 결과가 표시됩니다. 결과는 두 가지 유형의 항목 및 연락처입니다. 이러한 템플릿은 .Union()을 사용하여 ListView의 한 템플릿 아래에 표시됩니다. ContactDetails.aspx와 ItemDetails.aspx 두 페이지가 있습니다.QueryString을 사용하여 세부 정보 표시

다음은 내 <ItemTemplate>의 예입니다. 이것은 연락처 부분을 보여줍니다. 해당 링크가 항목인지 연락처인지에 따라 링크를 변경하고이를 기반으로 URL을 변경하는 방법은 무엇입니까?

내가 항목 ~/LoggedIn/ItemDetails.aspx?ItemID={0}

   <ItemTemplate> 
         <asp:HyperLink runat="server" ID="link" 
         Text='<%#Eval("Name") %>' 
         NavigateUrl='<%#Eval("ID", "~/LoggedIn/ContactDetails.aspx?ContactID={0}")        %>' /> 
        <br /> 

        <ul> 

         <li> 
          <span><b>Identity:</b><%#Eval("ID") %></span></li> 


         <li><span><b>Phone:</b><%#Eval("Phone") %></span></li> 

        </ul> 

            <asp:HyperLink runat="server" CssClass="btn" ID="ConUpdateLink" 
         Text='Update' 
         NavigateUrl='<%#Eval("ID", "~/Admin/UpdateContact.aspx?ContactID={0}") %>' />       

       </ItemTemplate> 

희망이 말이 사용할 필요 URL입니다.

+0

무엇이 당신의 질문입니까? – ean5533

+0

@ ean5533 해당 링크가 항목인지 연락처인지에 따라 링크를 변경하고이를 기반으로 URL을 변경하는 방법은 무엇입니까? – jackncoke

+0

@jackncoke : 기본적으로 코드에 두 개의 링크가 있습니다. 너는 무엇을 기대 하느냐? 당신은'contactId'와 함께 뭔가를 전달해야합니까 ?? –

답변

1

변화를 :

public string GetValidUrl(string id) 
    { 
     string ret = string.Empty; 
     if (/*it is item id*/) 
     { 
      ret = string.Format("~/Admin/UpdateContact.aspx?ContactID={0}", id); 
     } 
     else if (/*it is contact id*/) 
     { 
      ret = string.Format("~/LoggedIn/ItemDetails.aspx?ItemID={0}", id); 
     } 
     return ret; 
    } 

당신이 ID로 유형을 확인하기 위해 부품을 추가하거나 이러한 목적으로 사용될 수있는 다른 값을 전달해야합니다 뒤에 코드에서 다음

<asp:HyperLink runat="server" CssClass="btn" ID="ConUpdateLink" 
     Text='Update' 
     NavigateUrl='<%# GetValidUrl((string)Eval("ID")) %>' /> 

.