像我这样写结果把链接的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();
动态数据源怎么办啊?
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();
通过条件来判断应该显示哪个gridview比较好。而不是去判断邦定哪个数据源。。
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>
就算只有一个数据源
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);但是有传入参数,所以不能预先设定模板吧?
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);
}
}