私は2つのタイプのコードを持っています:1番目:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink runat="server" Text="Скачать объект" NavigateUrl='<%#"objects/" + Eval("Идентификатор") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
正常に動作します。しかし、TemplateFieldは毎回表示されました。
2位
TemplateField templField = new TemplateField();
HyperLink hypLink = new HyperLink();
hypLink.NavigateUrl = "<%#\"objects/\" + Eval(\"Идентификатор\") %>";
hypLink.Text = "Скачать объект";
templField.InsertItemTemplate = (ITemplate)hypLink;
tableResults.Columns.Add(templField);
エラーで動作しません:タイプ「System.Web.UI.WebControls.HyperLink」のオブジェクトをタイプ「System.Web.UI.ITemplate」にキャストできません。なぜ1回目でHyperLinkが追加されたのに、2回目では追加されなかったのですか?