0

xml ファイルからデータを取得する gridview があります。グリッドビューの列の 1 つはハイパーリンク フィールドです。XML ファイルに含まれる URL フィールドをこの列にバインドしたいと考えています。以下のコードで正しい考えを持っていると思いますが、それを終了する方法がわかりません。ちなみにURLはグリッドビューのデータキーです。

protected void grdContents_RowCreated(object sender, GridViewRowEventArgs e)
{
    ((HyperLinkField)grdContents.Columns[1]).NavigateUrl = 






}
4

1 に答える 1

1

gridView_RowDataBoundこのようなイベントでハイパーリンクをバインドできます

    protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType.Equals(DataControlRowType.DataRow))
            {
                HyperLinkField lnkHyper = (HyperLinkField)e.Row.FindControl("HyperLinkField1");
                lnkHyper.NavigateUrl="";
            }
        }

これを試して。

または、ソースをグリッドにバインドするときに、DataBinder.Eval を使用して URL をバインドすることもできます。

 <Columns>
       <asp:TemplateField>                                           
        <ItemTemplate>
             <asp:HyperLink runat="server" 
NavigateUrl="<%# DataBinder.Eval(Container.DataItem, "url") %>"></asp:HyperLink>
         </ItemTemplate>
        </asp:TemplateField>
</Columns>

グリッド ビューにデータ ソースを提供するので、これも使用できます。

于 2013-05-14T14:08:50.217 に答える