近日做一个小系统,用到了Gridview,因为.Net 2.0中支持DataNavigateUrlFields属性,所以觉得结合HyperLinkField传参会比较方便,在设计界面中做了如下的设置
可以看到设计界面中Gridview出现了超链接,可是程序运行后却发现超链接被显示为普通的文本了,找了很多的原因都不得解决,很是不爽!
后偶然发现是SQL返回的列Tdate类型所致.将SQL语句中涉及到的日期转换为字符串类型后,超链接正常出现.
原SQL 语句类似下面这样
select ID,Tdate from TableA
因为用的数据库是SQL Server,所以将语句改成
select ID,Convert(varchar(10),Tdate,121) from tableA
程序运行后,超链接及传参都正常
MSDN中关于DataNavigateUrlFields 属性的原型描述为
似乎已转换成string类型了,但问题就是这么奇怪.
优快云中有类似的问题未得到有效解决,参考:
http://topic.youkuaiyun.com/u/20080317/17/08d97923-30b4-4285-ba5a-1c815e00c8cf.html