【问题标题】:adding url to the hyperlink field in gridview将url添加到gridview中的超链接字段
【发布时间】:2012-04-05 06:26:34
【问题描述】:

我有一个动态网格视图。我在页面加载中添加列。

我使用此代码添加超链接字段:

 string[] url = new string[1];
 url[0] = field.InternalName;
 HyperLinkField link = new HyperLinkField();
 link.HeaderText = field.Title;
 link.DataNavigateUrlFields = url;
 link.DataNavigateUrlFormatString = "{0}";
 link.DataTextField = field.InternalName;
 link.SortExpression = field.InternalName;
 grid.Columns.Add(link);

我的问题是:例如我的网址是“http://Test1.docx, http://Test1.docx”。

我想将 navigateurl 设置为“http://Test1.docx”。

【问题讨论】:

  • 如果我理解正确,你只需要link.DataNavigateUrlFields = url.Split(',')[0].Trim(); 还是我理解错误?

标签: asp.net gridview hyperlink


【解决方案1】:

如果我正确理解问题所在。 field.InternalName 字段包含“http://Test1.docx, http://Test1.docx”,您正在将其分配给一个字符串数组,并且您试图仅获取逗号之前的第一个值。

在这种情况下,您需要拆分字符串:

string[] urlSplit = field.InternalName.Split(',');  
link.DataNavigateUrlFields = urlSplit[0];

【讨论】:

  • DataNavigateUrlFields 获取 string[] 。我使用此代码 ..string[] str = field.InternalName.Split(','); link.DataNavigateUrlFields =str;link.DataNavigateUrlFormatString="{0}"; ...但不工作。
  • 试试:string[] str = field.InternalName.Split(',');链接.DataNavigateUrlFields = str[0];
  • field.InternalName 是 datasource 的列名,所以 str[0]=field.InternalName
  • 没有。只是 str[0] 从“field.InternalName”获取逗号之前的第一个 URL。 field.InternalName 是否包含“Test1.docx,Test1.docx”?如果是这样,那么您只需要尝试我之前评论中的代码,或者您可能需要更清楚地了解您想要实现的目标。
  • DataNavigateUrlFields get string[] ,当我使用你的代码时,我得到了错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-15
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 2012-10-01
  • 1970-01-01
相关资源
最近更新 更多