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) 
    ); 

지금 Page_Loadservice.aspx에 당신이

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

한 다른 방법을 추가 자바 스크립트 링크와 캡처 아약스와 동일한 기능을 수행하는 것입니다.

+0

답장을 보내 주셔서 감사합니다. 텍스트 저장 위치를 ​​알려주세요. – Shanna

+0

@SandraDsouza 어디에도 저장되어 있지 않고 url을 매개 변수로 전달한 것 뿐이며 'Service.aspx'를 호출하면 세션에 추가해야합니다. – Aristos

+0

죄송합니다. 세션 [ "hyp"] = ??. 나는 당신이 준 코드에 익숙하지 않다. 도와 주셔서 대단히 감사합니다. – Shanna

0

안녕하세요 서버 측 코드에서 처리하려면 서버 링크 단추 컨트롤로 변경해야만 그리드 행 명령 이벤트에서 링크 코드를 얻을 수 있습니다. 링크 값을 얻으려면이 코드를 참조하십시오.

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와에 의해 클라이언트 측에서 'A'당신이 얻을 수있는 값이 대신 링크 버튼을 타고 숨겨진 필드로 설정하지 않는 것을 의미 변경하지 않는 경우 서버 측에서 액세스하거나 서버 측에서 값을 보내기 위해 ajax 호출을합니다.

클라이언트 측 get 값은 Jquery를 사용합니다. 이 코드를 참조하십시오.

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

     }); 
+0

은 jQuery를 위해 아무데도 말하지 않습니다. – Aristos

관련 문제