请问如何更改图标?

stvvv 2008-02-17 01:18:27
.Net2003 C#: 在新闻列表中(由程序生成table然后填充内容),想实现当鼠标在标题上面时,就更改标题左边的图标,当鼠标移开后,图标恢复原样。
请问怎么实现?

C#中代码:
for ( int i = 0; i < newsCount; i++ )
{
TableRow tr = new TableRow();
TableCell tc = new TableCell();
//图标
tc.HorizontalAlign = HorizontalAlign.Left;
tc.Width = 20;
tc.Text = "<img id=img" + i + " src=images/img1.gif>";
tr.Cells.Add( tc );
//新闻标题
tc = new TableCell();
tc.HorizontalAlign = HorizontalAlign.Left;
string title = newsRows[ i ][ NewsData.TITLE_FIELD ].ToString();
tc.Text = "<a href=News.aspx?ID=" + newsRows[ i ][ NewsData.PKID_FIELD ] />";
tr.Cells.Add( tc );
……


谢谢!!
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
此鱼非彼鱼 2008-02-19
  • 打赏
  • 举报
回复
很好,很强大.
阿非 2008-02-17
  • 打赏
  • 举报
回复

int i = 1;
Table t = new Table();
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Text = "<img id='img"+i.ToString()+"' src='img"+i.ToString()+".jpg'>";
tr.Cells.Add(tc);
tc = new TableCell();
tc.Text = "<a href='#1' onmouseover = 'changePic(" + i.ToString() + ")' onmouseleave = 'changeImg(" + i.ToString() + ")' >显示img" + i.ToString() + " </a> ";
tr.Cells.Add(tc);
t.Rows.Add(tr);
i++;
tr = new TableRow();
tc = new TableCell();
tc.Text = "<img id='img" + i.ToString() + "' src='img" + i.ToString() + ".jpg'>";
tr.Cells.Add(tc);
tc = new TableCell();
tc.Text = "<a href='#1' onmouseover = 'changePic(" + i.ToString() + ")' onmouseleave = 'changeImg(" + i.ToString() + ")' >显示img" + i.ToString() + " </a> ";
tr.Cells.Add(tc);
t.Rows.Add(tr);
this.Controls.Add(t);


function changePic(id)
{
var str='img'+id;
document.getElementById(str).src='img.jpg'
}
function changeImg(id)
{
var str='img'+id;
var src='img'+id+'.jpg';
document.getElementById(str).src=src;
}
Ny-6000 2008-02-17
  • 打赏
  • 举报
回复
对了,
还可以采用AJAX技术来实现.
stvvv 2008-02-17
  • 打赏
  • 举报
回复
写成下面这样子,可还是没反应。。。

tc.Text = "<a href=News.aspx?newsID=" + newsRows[ i ][ NewsData.PKID_FIELD ] + " onmouseover=\"javascript:document.getElementById('img" + i + "').src=images/" + "img1.gif\"; onmouseout=\"javascript:document.getElementById('img" + i + "').src=images/" + "img2.gif\"; >" + title + "</a>";
JGood 2008-02-17
  • 打赏
  • 举报
回复
用javascript来实现
onmouseover="javascript:document.getElementById('imageId').src = /*图片地址*/;"
onmouseout = "javascript:document.getElementById('imageId').src = /*图片地址*/;"
stvvv 2008-02-17
  • 打赏
  • 举报
回复
晕。。。

C#中代码:
for ( int i = 0; i < newsCount; i++ )
{
TableRow tr = new TableRow();
TableCell tc = new TableCell();
//图标
tc.HorizontalAlign = HorizontalAlign.Left;
tc.Width = 20;
tc.Text = "<img id=img" + i + " src=images/img1.gif>";
tr.Cells.Add( tc );
//新闻标题
tc = new TableCell();
tc.HorizontalAlign = HorizontalAlign.Left;
string title = newsRows[ i ][ NewsData.TITLE_FIELD ].ToString();
tc.Text = "<a href=NewsContent.aspx?ID=" + newsRows[ i ][ NewsData.PKID_FIELD ] + " />" + title + "</a>";
tr.Cells.Add( tc );
……
stvvv 2008-02-17
  • 打赏
  • 举报
回复
对不起,放上来时搞错了。
标题就是上面的变量"title",

C#中代码:
for ( int i = 0; i < newsCount; i++ )
{
TableRow tr = new TableRow();
TableCell tc = new TableCell();
//图标
tc.HorizontalAlign = HorizontalAlign.Left;
tc.Width = 20;
tc.Text = "<img id=img" + i + " src=images/img1.gif>";
tr.Cells.Add( tc );
//新闻标题
tc = new TableCell();
tc.HorizontalAlign = HorizontalAlign.Left;
string title = newsRows[ i ][ NewsData.TITLE_FIELD ].ToString();
tc.Text = "<a href=NewsContent.aspx?ID=" + newsRows[ i ][ NewsData.PKID_FIELD ] + " onmouseover='changeImg(Y,img" + i +")' >" + title "</a>";
tr.Cells.Add( tc );
……

谢谢!!
阿非 2008-02-17
  • 打赏
  • 举报
回复
你说的标题指的是title 么 这段代码没看到 title显示在网页上

62,046

社区成员

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

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

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

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