строка запроса выбирает последнюю строку в таблице, а не указанную строку.vb.net - PullRequest
0 голосов
/ 03 февраля 2010

я создал таблицу с 2 полями в vb.net следующим образом -

            Do While SqlDR.Read()
                TR = New HtmlTableRow

                TD = New HtmlTableCell
                TD.InnerHtml = SqlDR("name")
                TR.Cells.Add(TD)

                TB.Rows.Add(TR)
            Loop
        SqlDR.Close()

Данные выглядят так -

Name 
Jimi
Jonathan
Paulie

Как поместить гиперссылку на ячейку имени, чтобы при нажатии на определенное имя она переходила на следующую страницу с этим именем?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2010

Это в обратном направлении от того, как должен работать asp.net. Вы хотите переосмыслить все и сделать что-то подобное в своей разметке:

<asp:SqlDataSource Id="somedatasource" runat="serveR" ConnectionString="..." SelectCommand="..." />

<table><tr><th>Names</th></tr>
<asp:Repeater id="somerepeater" runat="server" DataSourceID="somedatasource">
    <ItemTemplate><tr><td><a href="page?name=Eval("name")">Eval("name")</a></td></tr></ItemTemplate>
</asp:Repeater>
</table>
0 голосов
/ 03 февраля 2010

Вы можете просто использовать <asp:HyperLink> в качестве своей гиперссылки, но, как правило, использование гиперссылок в качестве обратной ссылки является плохим.

Возможно, вам следует использовать свойства CommandName и CommandArgument в LinkButton. Где имя команды - то, что вы хотите, а аргумент команды - идентификатор этой конкретной строки.

Затем вы можете создать обработчик событий Command для перенаправления на соответствующую страницу.

См .: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.commandname.aspx

Или вы можете просто сделать NavigateURL гиперссылки следующим образом:

NavigateURL = "profiles.aspx?name_id=" & l.ID
...