从CodeBehind注册OnMouseOver事件?

3

我希望能够在代码后台注册一个图片的OnMouseOver和OnMouseOut事件,因为我必须区分用户是否已经登录。有什么建议吗?

3个回答

8
您可以向对象添加属性。
例如:
 Image img = new Image();
 img.Attributes.Add("onmouseover", "myjavascriptfunction();");

根据对象的ID设置参数,使用以下方法:

 Image img = new Image();
 img.Attributes.Add("onmouseover", "myjavascriptfunction(" + img.ClientID + ");");

我必须在函数中添加图像ID参数,如“function(img123)”,但由于runat=Server,ID会在运行时更改,该怎么办? - PassionateDeveloper
编辑以添加您需要的内容。 - cjk

1

使用ck的示例,您可以通过在服务器控件上使用ClientID属性来实现您想要做的事情。像这样:

yourImage.Attributes.Add("onmouseover", "jsfunction(" + yourImage.ClientID + ");");

0
一个解决方案是使用CSS类和jQuery:
  <img id="generatedId" class="myHoverImage" />

JavaScript:

$("img.myHoverImage").mouseover ( function() {

  // you can access the generated id:      

  alert ( this.id );

  // --> your code goes here <-- \\      

});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接