我在GridView里面设置了一个连接列,如:<asp:HyperLinkField  HeaderText="修改" datanavigateurlformatstring="makecontrol.aspx?id={0}" Text="&lt;img src='../Images/modifIcon.gif' border='0' alt='修改'&gt;"  datanavigateurlfields=?/>现在我是要根据页面传过来的值来设置不同的HyperLinkField,因为涉及到两张表,而两张表的索引ID不一样,一个是pid,一个是cid,我应该怎样写才能让datanavigateurlfields获取到不同的表索引值。各位高手帮帮忙,小弟急啊!

解决方案 »

  1.   

    楼主写的不是很清楚
    如果是要自动绑定不同的表的id到链接上可以考虑用别名合并结果集
    (select cid as id,cname as name form TableC) union all (select pid as id,pname as name from TableP)
    绑定的时候直接用别名id和name绑定即可
      

  2.   

    楼主需要在Row_Databound事件中来进行处理,这个事件是绑定每一行,所以楼主可以在该事件中找到超链接的那个列的索引值,然后根据你数据来进行判断。记得,一定要在rowtype==datarow中进行判断,要不会报错,说为实例化。