SQLクエリの結果にバインドされているASP.net 2.0 GridViewコントロールを使用しているため、次のようになります。
<asp:GridView ID="MySitesGridView" runat="server" AutoGenerateColumns="False" DataSourceID="InventoryDB" AllowSorting="True" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowCommand="GridView1_RowCommand" OnRowDataBound="siteRowDataBound">
<Columns>
<asp:BoundField DataField="Server" HeaderText="Server"/>
<asp:BoundField DataField="Customer" HeaderText="Customer" SortExpression="Customer" />
<asp:BoundField DataField="PublicIP" HeaderText="Site Address" DataFormatString="<a href='http://{0}/foo'>Go To Site</a>" />
</Columns>
</asp:GridView>
ご覧のとおり、フォーマット文字列を使用して、列の 1 つ (PublicIP フィールドにバインドされた列) にアドレスを含むリンクを表示しています。
<a href='http://{0}/foo'>Go To Site</a>
問題は次のとおりです。結果セットの他の列の 1 つと、リンクの PublicIP 列を使用する必要がありますが、フォーマット文字列でそれを使用できるようにする方法がわかりません。基本的に、結果セットから 2 つの列にバインドされた列が必要です。明確にするために、次のようなものが必要です。
<a href='http://{0}/{1}'>Go To Site</a>
{1} は、他の列の値です。これをきれいに達成する方法はありますか (フォーマット文字列を使用しない場合でも)? 私も TemplateFields の使用を検討しましたが、それらを使用する簡単な方法もわかりません。