0

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

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 ,我认为这是多余的。

4

2 回答 2

1

用单引号试试,如:

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

这是因为我认为 .NET 所做的就是渲染:

onmouseover="flyoutimg.ImageUrl='XYZ'"

如果你有双引号,它会因为认为它位于属性的末尾而变得一团糟,并可能截断值。

于 2012-12-19T13:11:14.120 回答
0

你的意思是有双引号?

尝试这个:

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

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

或尝试逃避它:

e.Row.Cells(2).Attributes.Add("onmouseover", "flyoutimg.ImageUrl=\"" + imgstr + "\";")
于 2012-12-19T02:14:20.543 回答