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

я использую asp.net с vb.net в обратном коде. На моей первой странице я показываю имена всех сотрудников. Я хочу дать эту гиперссылку, которая при нажатии откроет следующую страницу с, скажем, строкой запроса и только с записями сотрудников. Также я хочу сохранить идентификатор сотрудника (который не показан на странице 1) на второй странице, потому что, когда я делаю обновления на второй странице, я хочу использовать этот сотрудник в предложении «где» для операторов обновления или вставки. есть идеи?

Ответы [ 2 ]

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

Если вас не беспокоит, что люди возятся со строкой запроса, вы можете использовать это, а затем просто вывести данные на следующей странице во время Page_Init или Page_Load, используя:

HttpContext.Current.Request.Item("EmployeeID")

Тем не менее, я фанат не использовать строку запроса, потому что люди вмешиваются в нее. Вы можете использовать свойство PostBackUrl вашей гиперссылки (если вы используете кнопку asp link), а на следующей странице вы можете использовать объект Page.PreviousPage для доступа к любым объектам с предыдущей страницы.

<asp:LinkButton ID="lnkEmployeeLink23232" runat="server" CommandArgument="23232" PostBackUrl="NextPage.aspx" Text="Employee Name" />

Вам придется проверить IsCrossPagePostBack на первой странице, чтобы убедиться, что вы не запускаете привязку данных без необходимости, но в этот момент вы сможете получить доступ к элементу управления, который запустил обратную передачу, и оттуда получить аргумент команды который будет идентификатором работника в вопросе. 4

http://msdn.microsoft.com/en-us/library/ms178139.aspx http://www.developerfusion.com/code/4687/cross-page-postbacks-in-aspnet-20/

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

Если вы используете сетку данных или сетку, вы можете использовать поле гиперссылки:

<asp:hyperlinkfield headertext="Employee Page"
    datatextfield="Employee"
    datanavigateurlfield="EmployeeID" 
    datanavigateurlformatstring="Employee.aspx?employeeid={0}" />
...