2012-06-21 2 views
0

다음 테이블 열에 pageload에 바인딩되는 항목이 있습니다. 매개 변수가 제대로 작동하지만 다음 열인 fullname 인 추가 매개 변수를 추가해야하지만 im 당신은 내가 추가 한 ID 컬럼의 끝에서 볼 수 있듯이 문제 파악을 가진 우리의 구문은 여기 URL에 여분의 매개 변수를 전달합니다.

내 ASP

<asp:TemplateField HeaderText="ID"> 
    <ItemTemplate> 
     <asp:HyperLink ID="hyperLeadID" runat="server" NavigateUrl='<%#Eval("ID","/documents/Q-Sheet.aspx?LeadID={0}&isHappyCallReferral=yes&isHappyName={1}") %>' 
      Text='<%#Eval("ID")%>'></asp:HyperLink> 
    </ItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText="Referral Name"> 
    <ItemTemplate> 
     <asp:Label ID="lblRefName" CssClass="gvItem" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Name") %>'></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 

입니다 isHappyName = {1} 내가 그것을 다음을 선택할 것이라고 가정하는 열이 0부터 시작되지만 계속해서 오류가 발생합니다 ( ). "In dex (0부터 시작)는 0보다 크고 인수 목록의 크기보다 작아야합니다. "

은 누군가가 나에게 URL을 통해

감사

답변

3
은 다음과 같이 하이퍼 링크를 다시 작성

: 완벽하게 작동

NavigateUrl='<%# string.Format("/documents/Q-Sheet.aspx?LeadID={0}&isHappyCallReferral=yes&isHappyName={1}", Eval("ID"), Eval("HappyName"))%>' 
+0

, 내가 대답으로이 작업을 수락하기 전에 5 분 기다려야합니다! 다시 한 번 감사드립니다 –

+0

아무런 문제가 없기 때문에 기쁩니다. :) – Dimitri

0

문제는 및 String.format를 호출 (아마도 <asp:HyperLink>는 내부적으로이 일을한다)와 인을 usersname을 통과하는 데 도움이 될 수 있습니다. 하나의 인수 만 제공되는 반면 {1}은 제공되지 않는 두 번째 인수를 나타냅니다.

asp : HyperLink (및 ASP.NET의 기본 제공 데이터 바인딩)를 사용하지 않고 수동으로 URI를 설정하지 않고 <a href="#">을 사용해 봅니다.이 이유 때문에 System.Web.UI.WebControls의 팬이 아닙니다. 기회가 생길 때 ASP.NET MVC를 살펴 보는 것이 좋습니다.)

관련 문제