-1

各行に ProductTitle とそれに対応する URL が含まれる 2 つの列を持つ表形式を作成したいと考えています。

表形式で情報を提供する次のコードを使用しています。2 列目にアンカー タグ全体を表示します。

しかし、2列目にテキストのみをリンクとして表示したい。クリックすると、URL ページが開きます。

DataTable dt = new DataTable();

dt.Columns.Add("ProductTitle");
dt.Columns.Add("Link");

DataRow dr = dt.NewRow();
dr["ProductTitle"] = "GOOGLE";
dr["Link"] = "<" + "a href=\"" + "http://www.google.com" + "\">Google" + "</a>";
dt.Rows.Add(dr);

Gridview1.DataSource = dt;
Gridview1.DataBind();

誰でも提案できますか。

4

3 に答える 3

1

これを試して

dr["Link"] = "<a href='http://www.google.com'>Google</a>";

私は試した

Label1.Text = "<a href='http://www.google.com'>Google</a>";

できます。

2回目の試行:

string、int .etc などの .NET 型以外のものは保存できないので、このように asp:HyperLink を試してください

<ItemTemplate>
 <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("ProductTitle")%>' NavigateUrl='<%# Eval("Link") %>'></asp:HyperLink>
</ItemTemplate>

dr["ProductTitle"] = "Goole";
dr["Link"] = "http://www.google.com";
于 2012-11-29T08:03:39.777 に答える
1

.aspx次のようにファイルを変更できます。

    ...
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
        <Columns>
            <asp:BoundField DataField="ProductTitle" HeaderText="Product Title" />
            <asp:BoundField DataField="Link" HtmlEncode="false" HeaderText="Link" />
        </Columns>
    </asp:GridView>
    ...

そのため、のセクションを設定AutoGenerateColumns="false"およびフォーマットして、自動列生成を無効にする必要があります。ここで、リンク レンダリングの重要な要素である属性に注意してください。コード ビハインド ファイルですべてを設定することもできます。ColumnsGridViewHtmlEncode="false"

    GridView1.AutoGenerateColumns = false;

    var productTitleField=new BoundField();
    productTitleField.DataField="ProductTitle";
    productTitleField.HeaderText="Product Title";

    var linkField=new BoundField();
    linkField.DataField="Link";
    linkField.HeaderText="Link";
    linkField.HtmlEncode=false;

    GridView1.Columns.Add(productTitleField);
    GridView1.Columns.Add(linkField);
于 2012-11-29T08:09:32.587 に答える
0

実際には、やりたいことのために設計された特定のコラムがあります。それがHyperLinkFieldコラムです。

<asp:HyperLinkField 
            HeaderText="Header"
            DataTextField="LinkText"
            DataNavigateUrlFields="LinkURL" 
            DataNavigateUrlFormatString="http://google.com/q={0}" />

次に、データ ソースにリンク テキストとナビゲート URL フィールド用の適切な列があることを確認できます。

固定テキストまたは固定 URL がある場合は、対応する Data... の代わりにTextまたはNavigateURLプロパティを使用するように構成でき、必要に応じてフォーマット文字列を使用するかどうかを指定できます。

于 2012-12-04T18:47:18.183 に答える