Attributes.add和onmouseover

时间:2012-12-19 01:57:16

标签: asp.net vb.net attributes onmouseover flyout

我有一个数据绑定网格视图,用于显示我从服务器获取的图片。当我将鼠标悬停在放大图像的图像上时,我试图将其设置为创建弹出按钮。我遇到了一个问题,当涉及到将数据添加到数据绑定行时。我目前有代码

e.Row.Cells(2).Attributes.Add("onmouseover", "flyoutimg.ImageUrl=""" + imgstr + """;")

然而,这行代码导致我遇到一个问题,即imgstr(包含服务器上图像的url)不会传递到页面的javascript / aspx中。当我启动页面时,我可以尝试将鼠标悬停在某些东西上,但它简直无法正常工作。

我试过将flyout.ImageUrl放在自己的字符串中并将其传递给属性,但这也不起作用。我能找到的唯一研究来自两年前,它说明了Attributes.Add编码的撇号而不是引号。

有什么建议吗?

imgstr = dsMyName.Tables(0).Rows(0).Item("Photo").ToString

我从服务器中提取imgstr并执行.ToString,我认为这是多余的。

2 个答案:

答案 0 :(得分:1)

使用单引号尝试,例如:

e.Row.Cells(2).Attributes.Add("onmouseover", "flyoutimg.ImageUrl='" + imgstr + "';")

这是因为我认为.NET的作用是:

onmouseover="flyoutimg.ImageUrl='XYZ'"

如果你有双引号,它会搞砸,认为它在属性的末尾并可能截断该值。

答案 1 :(得分:0)

你的意思是双引号?

试试这个:

e.Row.Cells(2).Attributes.Add("onmouseover", "flyoutimg.ImageUrl='" + imgstr + " ';")

注意我使用了一个合法HTML的单引号。

或试着逃避它:

e.Row.Cells(2).Attributes.Add("onmouseover", "flyoutimg.ImageUrl=\"" + imgstr + "\";")