我有一个数据绑定网格视图,用于显示我从服务器获取的图片。当我将鼠标悬停在放大图像的图像上时,我试图将其设置为创建弹出按钮。我遇到了一个问题,当涉及到将数据添加到数据绑定行时。我目前有代码
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,我认为这是多余的。
答案 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 + "\";")