フィールドの 1 つが URL であるデータベースから取得するオブジェクトがあります。このデータをグリッドビューに表示しています。URL 列を、対応する URL を指す「ダウンロード」という一連のリンクにしたいと思います。
私は現在、次のものを持っています:
<asp:GridView ID="my_gv" runat="server" AutoGenerateColumns = "false"
GridLines="None" Width="100%" AllowSorting="True"
CssClass="table table-bordered table-condensed">
<AlternatingRowStyle BackColor="#F5F5F5" />
<Columns>
<asp:HyperLinkField DataNavigateUrlFields = "location" Text = "Download link" HeaderText = "Download" />
</Columns>
</asp:GridView>
これは機能していないようです。エントリはリンクのように青色ですが、マウスでホバーしても実際には URL が呼び出されません (カーソルは「リンク」カーソルに変わりません)。生成された HTML を見ると、これらは<a>
タグですが、属性は含まれていませhref
ん。なんで?これを機能させるために何が逃したのですか?次のものを入力します。
private void populateElementView()
{
List<MyElement> elements = database.getGeneratedElements();
// elements has a .location property
my_gv.DataSource = elements;
my_gv.DataBind();
}
詳細については、URL はコンピューター上のファイルを指しています。URL「testing」を使用してアイテムを手動で挿入すると、実際には機能しますが、実際のファイルパスは機能しません。