2012-01-27 2 views
1

내가 다른 페이지에 대한 링크가 것이다 ASPxGridView에 열을 추가하기 위해 노력하고있어 :ASPxGridView 및 평가 (String) 메소드

<Columns> 
     ... 
     <dxwgv:GridViewDataColumn Caption=" " VisibleIndex="10"> 
      <DataItemTemplate> 
       <dxe:ASPxHyperLink ID="lnkEdit" runat="server" Text="Edit" NavigateUrl="../Category/Elements/<%# Eval("Id").ToString() %>/Edit"/> 
      </DataItemTemplate> 
     </dxwgv:GridViewDataColumn> 
    </Columns> 

을하지만 오류 얻을 :

파서 오류 메시지 : 서버 태그 잘 형성되지 않았다.

내가 '사용'../Category/Elements/ <% # 평가 ("ID"). ToString() %>/편집 "

+2

이 보이는,하지만 난 그냥 확실하지, 난 일 경우 알고, 당신은 단지 하나의 외부 따옴표를 변경하는 경우 그것은 또한 작동하지 않을 수 있습니다 생각 이것에 대해. 이중 따옴표 안의 큰 따옴표는 작동하지 않습니다. – eselk

답변

3

를"링크 HREF 속성이 ""대신 내가 돈 ' 데이터 바인딩 요소를 속성 값의 중간에 넣을 수 있다고 생각하지 마십시오. 전체 값은 <% %> 내에서 할 필요가 :

NavigateUrl='<%# "../Category/Elements/" + Eval("Id").ToString() + "/Edit" %>' 

난 당신이 사용하고있는 UI 라이브러리 모르겠지만, 보통 Eval()는 문자열 형식 매개 변수가 있습니다. 이것은 문자열 연결 접근보다 바람직합니다. 당신은 할 수 있습니다 : 당신은 이미 좋은 답변을 가지고있는 것처럼

NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "Id", "../Category/Elements/{0}/Edit") %>' 
+0

D' oh! 즉, +1 – jadarnel27

+0

맞았습니다. :-) // 받아 들일 때까지 5 분 정도 기다려야합니다. – TrN