2011-07-29 8 views
0

私はGridViewをSqlDataSourceにバインドしています。ASP.NET 4 GridView - データベースからハイパーリンクを引き出す

別のWebスペースに保存されたジョブの説明を指すハイパーリンクをデータベースから取り出し、GridViewに配置しています。だから私はに変換しようとして始めた

<asp:BoundField DataField="JobDescription" HeaderText="JobDescription" 
    SortExpression="JobDescription" /> 

これらはもともとGridViewの列は、このような単純なBoundFieldだったな「Http://stackoverflow.com/」

として完全なハイパーリンクされていますハイパーリンクフィールド。

<asp:HyperLinkField DataNavigateUrlFields="JobDescription" 
    DataTextField="JobDescription" 
    HeaderText="JobDescription" 
    SortExpression="JobDescription" 
    Target="_blank" 
    NavigateUrl="{0}" /> 

この結果、望ましい結果が得られましたが、GridViewでその列を編集できなくなりました。 BoundFieldのときはアイテムを編集することはできましたが、ハイパーリンクにする方法は見つけられませんでした。

どちらにしても...

に動作します私はどちらかはHyperLinkFieldを更新可能にする必要がある、または私はBoundFieldはそれがデータベースから直接引くものとハイパーリンクとしてフォーマットする必要があります。

私は助けていただきありがとうございます。

+0

私はMicrosoftのウェブサイトで何かを試しました。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx まだ行のデータを編集できませんでした。 – Lucretius

答えて

0

grrrがその答えを見つけました。 http://www.w3schools.com/tags/ref_entities.asp

:それHtmlEncodeプロパティは、それ以外の場合は...のようなものの同等にここ

&nbsp; 

エンティティ番号をお使いのすべての文字を変更し、HTMLとしてレンダリングされるDataFormatStringでHTMLためにはfalseに設定する必要があります

1

Template Fieldを使用してください。したがって、あなたは通常のビューとediting viewを定義できます。あなたは、テンプレートのフィールドを必要としない

<asp:BoundField DataField="JobDescription" HeaderText="Job Description" 
    SortExpression="JobDescription" 
    DataFormatString="<a target='_blank' href='{0}'>Text</a>" 
    HtmlEncode="False" /> 

関連する問題