Как установить строку запроса из источника данных в тег <a>? - PullRequest
0 голосов
/ 25 октября 2011

Я использую управление повторителем из asp.net для привязки источника данных.Я добавил элемент тега в качестве элемента шаблона.Я хочу установить строку запроса из моей таблицы в адрес href тега.Как это сделать при проектировании?

спасибо

1 Ответ

0 голосов
/ 25 октября 2011

У вас есть два подхода, во-первых, непосредственно в шаблоне элемента

<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

...