Я работаю с элементом управления ASP.net 2.0 GridView, который привязан к результатам SQL-запроса, поэтому он выглядит примерно так:
<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>
Как видите, я отображаю ссылки с адресами в одном из столбцов (тот, который связан с полем PublicIP), используя строку формата:
<a href='http://{0}/foo'>Go To Site</a>
Вот проблема: мне нужно использовать один из других столбцов из набора результатов, а также столбец PublicIP в моих ссылках, но я не знаю, как сделать это доступным для моего формата строка. По сути, мне нужно, чтобы этот столбец был привязан к двум столбцам из набора результатов. Чтобы уточнить, мне нужно что-то вроде:
<a href='http://{0}/{1}'>Go To Site</a>
Где {1} - это значение моего другого столбца. Есть ли способ сделать это чисто (даже если он не использует строки формата)? Я также рассмотрел использование TemplateFields, но не вижу и простого способа сделать это с ними.