2012-04-23 2 views
1

Список элементов (гиперссылок) показан в списке, полученном по запросу. И при нажатии он перенаправляет на другую страницу, где мне нужно получить данные этого элемента, используя его имя, которое является текстом этого элемента (гиперссылкой). Как получить доступ к текстовому свойству (имени) элемента, на который был нажат?Получение свойства гиперссылки в текстовом виде в виде списка?

ответ

3

Если вы действительно щелкать гиперссылки которого перенаправляет на другую страницу, вы не можете получить эту информацию.

Единственный способ сделать это - включить нужную информацию в строку запроса и проанализировать запрос на следующей странице.

Однако, если вы являетесь публикацией формы на другой странице, и ваша гиперссылка на самом деле представляет собой вход, ваша информация будет доступна в данных сообщения.

Если ваша гиперссылка на самом деле является администратором , есть много возможностей.

Это может помочь увидеть некоторый код.

OK, если это ваш код:

<td> 
    <asp:Hyperlink ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' NavigateUrl="~/anotherpage.aspx"/> 
</td> 

Есть несколько вещей, которые вы можете сделать. Во-первых, вы можете изменить ваш asp:Hyperlink к asp:LinkButton добавить событие щелчка и удалить NavigateUrl свойство:

<td> 
    <asp:LinkButton ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' OnClick="NameLabel_Click"/> 
</td>  

Теперь использовать обработчик события, чтобы сделать то, что вам нужно:

//Use querystring 
    protected void NameLabel_Click(object sender, EventArgs e) 
    { 
     var link = sender as LinkButton; 
     Response.Redirect(String.Format("anotherpage.aspx?name={0}", link.Text)); 
    } 

    //Use session 
    protected void NameLabel_Click(object sender, EventArgs e) 
    { 
     var link = sender as LinkButton; 
     Session["name"] = link.Text; 
     Response.Redirect("anotherpage.aspx?"); 
    } 

Тогда, в Page_Load Вы можете сделать следующее:

//Session 
var name = Session["name"]; 

//Querystring 
var name = Request.QueryString["name"]; 
+0

Какой код вы хотите видеть? до сих пор я не написал код этой задачи, так как у меня нет текста, я могу показать вам тот, который извлекает данные в списке, через SqlDataSource. И я явно преобразовал свойство метки элементов в нем в гиперссылки. Как это <осины: гиперссылок ID = "NameLabel" RUNAT = "сервер" Text = '<% # Eval ("Name")%>' NavigateURL = "~/anotherpage.aspx" /> –

+0

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

+0

Попробуйте что-то вроде

Смежные вопросы