0

を作成datagridし、データベースからテーブルの1つにリンクしました。次に、からにhyperlinkバインドする必要があるを追加します。columntable

 <asp:DataGrid ID="DataGrid1" runat="server" DataSourceID="SqlDataSource1">
        </asp:DataGrid>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:holidaysConnectionString %>" 
            SelectCommand="SELECT [Name], [External_Link] FROM [Person]">
        </asp:SqlDataSource>
        <asp:HyperLink ID="hyperlink" runat="server" NavigateUrl='http://www.google.com/<%# Bind("External_Link")%>' Target="_blank">Visit Google</asp:HyperLink>

これは機能していません誰かが私が間違っていることをアドバイスできますか?

2つの列ありtable、各行列内)には、クリックされた行に応じて、またはの拡張子が含まれています。NameExternal_Hyperlinkexternal_hyerplinkurlwww.google.com/extension1www.google.com/extension2 etc.

しかし、私が正しい方向に向かっているとは思わないでください。私の問題を解決するためのアイデアを教えてください。

4

1 に答える 1

2

例としてこれを試してください:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">           
            <Columns>
                <asp:BoundField DataField="ProblemID" />
                <asp:HyperLinkField DataNavigateUrlFields="ProblemID" DataNavigateUrlFormatString="SmallWindow.aspx?id={0}"
                    DataTextField="Click here" NavigateUrl="SmallWindow.aspx" />
                <asp:BoundField DataField="Solution" />
            </Columns>
        </asp:GridView>

また

//This event should fire on Row Data Bound

protected void yourGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
        HyperLink hlControl = new HyperLink();
        hlControl.Text = e.Row.Cells[2].Text; //Take back the text (let say you want it in cell of index 2)
        hlControl.NavigateUrl = "http://www.stackoverflow.com";
        e.Row.Cells[2].Controls.Add(hlControl);//index 2 for the example

編集

次のようなものを試してください。

<asp:HyperLink ID="HyperLink2" runat=server NavigateUrl='<%#Eval("Company_ID", "CompanyProfile.aspx?ID={0}")%>'><%#Eval("Name")%></asp:HyperLink>
于 2013-01-10T19:35:54.207 に答える