给DataTable添加超链接列问题 本帖最后由 phhui 于 2011-12-16 15:32:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 别用gridview,直接datalist,方便很多! foreach (DataRow item in table.Rows) { item["字段名称"] = "<a href='连接地址'>" + item["字段名称"] + "</a>"; }楼主是要这种效果吗?我也没测试过。希望对你游泳 private DataTable resetDataTable(DataTable db) { int n = db.Rows.Count; db.Columns.Add("类别"); db.Columns.Add("数值"); db.Columns.Add("结果"); db.Columns.Add("时间"); db.Columns.Add("备注"); for (int i = 0; i < n; i++) { db.Rows[i]["类别"] = db.Rows[i]["type"]; db.Rows[i]["数值"] = db.Rows[i]["value"]; db.Rows[i]["结果"] = db.Rows[i]["result"]; db.Rows[i]["时间"] = db.Rows[i]["time"]; db.Rows[i]["备注"] = "<a href='result.aspx?r="+db.Rows[i]["id"]+"' target='_blank'>查看详细</a>";//想将这行改成超连接,结果绑定到gridview后直接将<a href...显示出来了,而不是超连接样式 } db.Columns.Remove(db.Columns["type"]); db.Columns.Remove(db.Columns["value"]); db.Columns.Remove(db.Columns["result"]); db.Columns.Remove(db.Columns["id"]); db.Columns.Remove(db.Columns["time"]); return db; } 我就是用你这种方法,但显示到gridview后html没被解析,直接显示出来 了 <Columns> <asp:TemplateField> <ItemTemplate> <a href='<%# Eval("URL") %>'><%# Eval("Fields") %></a> </ItemTemplate> </asp:TemplateField> </Columns> 或者:<Columns> <asp:BoundField DataField="备注" HtmlEncode="False" /></Columns> [code=C#] db.Rows[i]["备注"] = "<a href='result.aspx?r="+db.Rows[i]["id"]+"' target='_blank'>查看详细</a>";//想将这行改成超连接,结果绑定到gridview后直接将<a href...显示出来了,而不是超连接样式[/code]楼主不能这么绑啊,应该在数据控件里面直接<a href=<=%Eval("url")%><=%Eval("name")%></a> datatable.Columns.Add("newHref");for(int i=0;i<datatab.rows.cout;i++){ datatable.rows[i]["newHref"]="<a href=\"....\">+datatable.rows[i]["original"].ToString()+</a>";}页面<%#Eval("newHref")%>;最好在前直接拼接,循环来的慢; 在.aspx和.aspx.cs里面设置我知道,但我有很多个页面用到这个datatable,如果前台绑定的话就每个页面都要去修改,而如果可以直接在类里面对datatable进行修改的话我就不需要每个页面都去实现,而且以后要是哪块觉得需要修改的我也只需要在类里修改一个就可以了,而不需要去修改多个页面。所以才想要在类里直接操作datatable的。 问题还是出在了你banding那边。 如何判断百度蜘蛛 小小问题 DataList的问题 <%#eval()%>嵌套问题 关于数据库显示的问题?在线等,谢谢! 借这里的人气一用。 DataGrid的菜鸟问题 datagird的问题! 招工 一句话的问题 在线等,谢谢 ASP.NET treeview节点鼠标移上去时背景色变化问题 js调用问题
{
item["字段名称"] = "<a href='连接地址'>" + item["字段名称"] + "</a>";
}
楼主是要这种效果吗?我也没测试过。希望对你游泳
{
int n = db.Rows.Count;
db.Columns.Add("类别");
db.Columns.Add("数值");
db.Columns.Add("结果");
db.Columns.Add("时间");
db.Columns.Add("备注");
for (int i = 0; i < n; i++)
{
db.Rows[i]["类别"] = db.Rows[i]["type"];
db.Rows[i]["数值"] = db.Rows[i]["value"];
db.Rows[i]["结果"] = db.Rows[i]["result"];
db.Rows[i]["时间"] = db.Rows[i]["time"];
db.Rows[i]["备注"] = "<a href='result.aspx?r="+db.Rows[i]["id"]+"' target='_blank'>查看详细</a>";//想将这行改成超连接,结果绑定到gridview后直接将<a href...显示出来了,而不是超连接样式
}
db.Columns.Remove(db.Columns["type"]);
db.Columns.Remove(db.Columns["value"]);
db.Columns.Remove(db.Columns["result"]);
db.Columns.Remove(db.Columns["id"]);
db.Columns.Remove(db.Columns["time"]);
return db;
}
<asp:TemplateField>
<ItemTemplate>
<a href='<%# Eval("URL") %>'><%# Eval("Fields") %></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:BoundField DataField="备注" HtmlEncode="False" />
</Columns>
[/code]楼主不能这么绑啊,应该在数据控件里面直接<a href=<=%Eval("url")%><=%Eval("name")%></a>
datatable.Columns.Add("newHref");
for(int i=0;i<datatab.rows.cout;i++)
{
datatable.rows[i]["newHref"]="<a href=\"....\">+datatable.rows[i]["original"].ToString()+</a>";
}
页面<%#Eval("newHref")%>;
最好在前直接拼接,循环来的慢;
所以才想要在类里直接操作datatable的。