日期:2014-05-18  浏览次数:20450 次

Gridview控件中自已添加一个超链接字段,为何没有超链接效果?全部分用上了!
数据库中有一张表,其中有两个字段:Forum_Id(int)、Topic(nvarchar)(200),而页面上有一个Gridview控件GridView1。

下面是后台代码:
Dim   obdt   As   New   Data.DataSet
这之间是从数据库中查询表,并填充到数据集obdt的表lgh中
GridView1.AutoGenerateColumns   =   False
GridView1.DataSource   =   obdt
GridView1.DataMember   =   "lgh "

下面我想在GridView1显示一个超链接字段,标题是:“主题”,超链接文本是Topic字段的文本,超链接的NavigateUrl是页面 "~/forum/reversion.aspx ",附带查询字符串,而查询字符串的值是字段Forum_Id的值。具体代码如下:
Dim   hyf   As   New   HyperLinkField
hyf.HeaderText   =   "主题 "
hyf.DataNavigateUrlFields   =   obdt.Tables( "lgh ").Columns( "Forum_Id ").Container
hyf.DataTextField   =   obdt.Tables( "lgh ").Columns( "Topic ").ToString
hyf.DataNavigateUrlFormatString   =   "~/forum/reversion.aspx?forumid={0} "

GridView1.Columns.Add(hyf)
GridView1.DataBind()

运行代码,我发现超链接文本有显示,但鼠标移到上面,没有显示手形,点击链接,没有转到相应的页面,不知为何故?请高手指导一下,谢谢!!!



------解决方案--------------------
try ->

hyf.DataNavigateUrlFields = obdt.Tables( "lgh ").Columns( "Forum_Id ").Container

> > >

hyf.DataNavigateUrlFields = obdt.Tables( "lgh ").Columns( "Forum_Id ").ToString

------解决方案--------------------
用gridview自带的编辑列属性,把该列设为超链接列,在里面设置属性
------解决方案--------------------
你即然可以得到文本显示,也许是html代码出错,你但看一下网页的源文件,看看问题出在何处