像我这样写结果把链接的html代码都显示出来了,网上我能找到的都是先绑定好数据源,再用<ItemTemplate><a href=Eval(**)></ItemTemplate>的方式。
动态数据源怎么办啊?
if(flag)
{
    mySqlDataAdapter = new SqlDataAdapter("SELECT '<a href=\"./Interaction.aspx?Type='+TopicId+'\" title=\"'+Introdution+'\">'+TopicName+'</a>' AS '分类', ThreadCount AS '发帖总数', ReThreadCount AS '回帖总数' FROM Interaction_Topics", myConn);
}
else
{
    mySqlDataAdapter = new SqlDataAdapter("SELECT '<a href=\"./Thread.aspx?Id='+Convert(varchar(10), Id)+'\">'+[Title]+'</a>' AS '标题', ChildCount AS '回复', HitCount AS '点击', Submit_Time AS '发表时间', User_Id AS '作者' FROM Threads WHERE Layer=0 AND Topic_Id=" + Id + " ORDER BY '发表时间' DESC", myConn);
}
myDataSet = new DataSet();
mySqlDataAdapter.Fill(myDataSet, "tb_Temp");
gView_DB.DataSource = myDataSet.Tables["tb_Temp"].DefaultView;
gView_DB.DataBind();

解决方案 »

  1.   

    我感觉这个问题可以用两个panel来放置2个gridview
    通过条件来判断应该显示哪个gridview比较好。而不是去判断邦定哪个数据源。。
      

  2.   

    加一个script
       function openwindow(url)
    {
        var top,left,width,height;
       top=screen.height*0.125;
       left=screen.width*0.125;
       width=screen.width*0.75;
       height=screen.height*0.75;
        window.open(url,"_blank","status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no,width="+width+",height="+height+",top="+top+",left="+left);
       }
    模板列中
    <asp:TemplateField HeaderText="XXX">
                                        <ItemTemplate>
                                            <a href="#" onclick="openwindow('../Group/GroupInfoView.aspx?para=<%# Eval("ID") %>');">
                                                <%# Eval("XXX") %>
                                            </a>
                                        </ItemTemplate>
                                    </asp:TemplateField>
      

  3.   


    就算只有一个数据源
    mySqlDataAdapter = new SqlDataAdapter("SELECT '<a href=\"./Thread.aspx?Id='+Convert(varchar(10), Id)+'\">'+[Title]+'</a>' AS '标题', ChildCount AS '回复', HitCount AS '点击', Submit_Time AS '发表时间', User_Id AS '作者' FROM Threads WHERE Layer=0 AND Topic_Id=" + Id + " ORDER BY '发表时间' DESC", myConn);但是有传入参数,所以不能预先设定模板吧?
      

  4.   

    把GRIDVIEW的列属性改一下enableHTML(好像是这个吧)应该可以
      

  5.   

    用事件也可以实现
      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string led_id = e.Row.Cells[2].Text;//获取你超链接页面需传的值
                LinkButton lb_update = (LinkButton)e.Row.Cells[1].FindControl("Row_Update");  //把需要超链的列模板做为LinkButton,Row_Update是控件名字
                string _jsEdit = "showModalDialog('Led_action.aspx?Led_id=" + led_id+" ',null,'dialogWidth:500px;dialogHeight:300px;center:yes;status:no;scroll:no;help:no;resizable:no')"; //javascipt 语句,我的这个是打开子页面的。
                lb_update.Attributes.Add("onclick", _jsEdit);
            }
        }
      

  6.   

    在绑定的时候用判断下 mySqlDataAdapter ==(数据源)?Eval('a'):Eval('b')
      

  7.   

    GridView里面有个HyperLinkField的模板列,就是超级链接了