获取gridview中超链接的文本

本文关键字:文本 超链接 中超 gridview 获取 | 更新日期: 2023-09-27 18:12:15

我已经在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>";            
}      

我想从点击和存储在会话变量时的超链接的文本。有人能帮我做这个吗?

获取gridview中超链接的文本

一个简单的技巧是将它作为参数添加到您的链接中,当您调用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"];

另一种方法是用javascript捕获链接,然后用ajax做同样的事情。

嘿,如果你想从服务器端代码做,那么你必须改变"到服务器链接按钮控件,然后只有你可以在网格行命令事件上获得链接代码。请参考此代码获取链接值。

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

}}

或者如果你不改变你的逻辑意味着你不采取链接按钮而不是'a',那么你可以通过Jquery在客户端获得值,并设置为隐藏字段和访问在服务器端或使ajax调用发送值在服务器端。

客户端获取值使用Jquery。请参考此代码。

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