0
バインディングデータソースにasp.netのリピータコントロールを使用しています。テンプレート要素としてタグ要素を追加しました。私は自分のテーブルからタグのhrefアドレスにクエリ文字列を設定したいと思います。どのように設計でこれを行うには?クエリ文字列をデータソースから<a>タグに設定する方法はありますか?
おかげ
バインディングデータソースにasp.netのリピータコントロールを使用しています。テンプレート要素としてタグ要素を追加しました。私は自分のテーブルからタグのhrefアドレスにクエリ文字列を設定したいと思います。どのように設計でこれを行うには?クエリ文字列をデータソースから<a>タグに設定する方法はありますか?
おかげ
あなたがここに二つのアプローチがありますが、最初の項目テンプレート
<ItemTemplate>
<a href="/Folder/Item.aspx?ID=<%# Eval("KeyField") %>">Text</a>
</ItemTemplate>
または使用してハイパーリンク
<ItemTemplate>
<asp:HyperLink ID="myLink" runat="server" Text="Text" />
</ItemTemplate>
に直接であり、また、あなたはItemDataBound
イベントにロジックの背後にあるいくつかのコードを追加する必要がありますリピータの中で
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
var myLink = e.Item.FindControl("myLink") as HyperLink;
myLink.NavigateUrl = String.Format("~/Folder/Item.aspx?ID={0}", (e.Item.DataItem as YourType).KeyField);
}
データ項目は、データソースを表す単一の項目です。 DataTable
を使用している場合は、DataRowが最もよく使用されます。また、カスタムオブジェクトでも匿名型でもかまいません。ここでは、プロパティがYourType
のオブジェクトがあると仮定しています。KeyField