2012-01-27 16 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メソッド()%> /編集" リンクのhrefプロパティがある"

+2

あなたは既に良い答えがあるようですが、あなたは単なる外側の引用符を変更するだけでもうまくいくと思いますが、いくつかのケースでは分かりませんこれについて二重引用符で囲まれた二重引用符が確実に機能することはほとんどありません。 – eselk

答えて

3

」を

私は' を使用データバインディング要素を属性値の真ん中に置くことができると思います。全体の値は<% %>以内にする必要がある:

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

私はあなたが使用しているUIライブラリとわからないんだけど、通常​​は、文字列形式のパラメータを可能にします。これは、文字列連結アプローチよりも望ましいでしょう。

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

D'oh!それだけです、+1 – jadarnel27

+0

あなたは正しいです! :-) //受け入れられるまで5分待たなければならない。 – TrN