2013-05-05 2 views
0

Я преобразовал текст в гиперссылки в gridview.Получить текст гиперссылки в gridview

if (e.Row.Cells[3].Text == Session["uname"].ToString()) 
{ 
    e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#FFFFCC"); 
    e.Row.Cells[1].Text = "<a href='Service.aspx'>"+e.Row.Cells[1].Text+"</a>";    
}  

Я хочу получить текст из гиперссылок при нажатии и сохранении в переменной сеанса. Может ли кто-нибудь помочь мне сделать это?

Заранее спасибо.

ответ

1

Один простой трюк заключается в том, чтобы добавить его в качестве параметра к вам, и когда вы вызываете эту страницу service.aspx, чтобы сохранить ее на своем сеансе.

Например:

String.Format("<a href='Service.aspx?TextLink={1}'>{0}</a>" 
     , e.Row.Cells[1].Text 
     , Server.UrlEncode(e.Row.Cells[1].Text) 
    ); 

Сейчас на service.aspx на Page_Load добавить

if(!String.IsNullOrEmpty(Request.QueryString["TextLink"])) 
    session["hyp"] = Request.QueryString["TextLink"]; 

Другой способ заключается в захвате с яваскрипта ссылку и сделать то же самое с помощью AJAX.

+0

Благодарим за ответ. Можете ли вы рассказать мне, где хранится текст? – Shanna

+0

@SandraDsouza Не хранится нигде, просто передается с параметром url в качестве параметра, и вам нужно добавить его в сеанс, когда вы вызываете 'Service.aspx' – Aristos

+0

, извините, что вас снова попросили. сессия [ "Hyp"] = ??. Я не знаком с кодом, который вы указали. Большое вам спасибо за помощь. – Shanna

0

Эй Если вы хотите сделать из кода на стороне сервера, вы должны изменить «» на сервер Linkbutton, тогда вы сможете получить код ссылки на событие Grid Row Command. Пожалуйста, обратитесь к этому коду, чтобы получить значение ссылки.

protected void gvNewJoineeDetails_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 

      if (!e.CommandSource.GetType().Name.Contains("GridView")) 
      { 

       GridViewRow row1 = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer); 

       LinkButton lnkCust1 = (LinkButton)row1.FindControl("gvlnkBtnNewJoineeDetails"); 

} }

Или, если вы не измените вашу логику означает, что вы не берете кнопку ссылки вместо «а», то вы можете получить значение, которое он на стороне клиента с помощью Jquery и установить его в скрытом поле и доступ на стороне сервера или сделать вызов ajax для отправки значения на стороне сервера.

Для стороны клиента получить значение использовать JQuery. пожалуйста, обратитесь к этому коду.

$("a").live("click", function (e) { 
      var getvalue = $(this).text(); 

     }); 
+0

не говорит нигде для jQuery. – Aristos

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