给DataTable添加超链接列问题

phhui 2011-12-16 03:17:03
页面上直接放个空白gridview,然后查询数据并绑定,查询后先修改datatable内容,给某个字段添加<a href=...超连接,再绑定到gridview,但绑定到gridview后html并没有被解析,而是直接显示相应的html编码,怎么让它能够显示超连接,而不是显示html编码?
...全文
674 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
phhui 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 terminator_lzq 的回复:]

不建议楼主这么绑定数据
[/Quote]
为何?
phhui 2011-12-19
  • 打赏
  • 举报
回复
在.aspx和.aspx.cs里面设置我知道,但我有很多个页面用到这个datatable,如果前台绑定的话就每个页面都要去修改,而如果可以直接在类里面对datatable进行修改的话我就不需要每个页面都去实现,而且以后要是哪块觉得需要修改的我也只需要在类里修改一个就可以了,而不需要去修改多个页面。
所以才想要在类里直接操作datatable的。
chen_ya_ping 2011-12-19
  • 打赏
  • 举报
回复
问题还是出在了你banding那边。
phhui 2011-12-19
  • 打赏
  • 举报
回复
没法实现么~~
修改一下昵称 2011-12-17
  • 打赏
  • 举报
回复
或者:
<Columns>
<asp:BoundField DataField="备注" HtmlEncode="False" />
</Columns>
修改一下昵称 2011-12-17
  • 打赏
  • 举报
回复
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href='<%# Eval("URL") %>'><%# Eval("Fields") %></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
CalvinR 2011-12-17
  • 打赏
  • 举报
回复
不建议楼主这么绑定数据
phhui 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 liuleiyu121520 的回复:]

foreach (DataRow item in table.Rows)
{
item["字段名称"] = "<a href='连接地址'>" + item["字段名称"] + "</a>";
}
楼主是要这种效果吗?我也没测试过。希望对你游泳
[/Quote]
我就是用你这种方法,但显示到gridview后html没被解析,直接显示出来 了
漫步的心 2011-12-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yhb417 的回复:]

<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href='<%# Eval("URL") %>'><%# Eval("Fields") %></a>
</ItemTemplate>
</……
[/Quote]

up++
joyhen 2011-12-17
  • 打赏
  • 举报
回复

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")%>;
最好在前直接拼接,循环来的慢;
dongt1 2011-12-17
  • 打赏
  • 举报
回复
[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>
phhui 2011-12-16
  • 打赏
  • 举报
回复
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;
}
liuleiyu121520 2011-12-16
  • 打赏
  • 举报
回复
foreach (DataRow item in table.Rows)
{
item["字段名称"] = "<a href='连接地址'>" + item["字段名称"] + "</a>";
}
楼主是要这种效果吗?我也没测试过。希望对你游泳
小宏 2011-12-16
  • 打赏
  • 举报
回复
把你代码贴出来大家看看
generhappy 2011-12-16
  • 打赏
  • 举报
回复
别用gridview,直接datalist,方便很多!
work_fei 2011-12-16
  • 打赏
  • 举报
回复
绑定事件时,把指定列文本进行修改添加超连接

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧