首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将onmouseover属性添加到<asp:Repeater>中的<asp:Panel>

将onmouseover属性添加到<asp:Repeater>中的<asp:Panel>
EN

Stack Overflow用户
提问于 2011-02-16 18:23:17
回答 4查看 5.4K关注 0票数 1

我有一个包含几个面板的中继器。我注意到<asp:Panel>没有onmouseover属性。我已经读到,我可以通过在page_load中调用来将属性添加到面板:

代码语言:javascript
运行
复制
PanelID.Attributes.Add("onmouseover", "Script to Run");

问题是,我在一个中继器中,PanelID是由asp.net生成的,就像ContentPlaceHolder_ctl01_myID_0一样,所以不仅很难弄清楚,而且VS2010不会将其识别为正确的对象并在其上抛出错误,加上我必须将其附加到每一项上,因此我需要使用for或foreach,但我不知道要迭代什么。有没有像这样的方法

代码语言:javascript
运行
复制
foreach(childcontrol in Repeater.ChildControlsISpecificallyNeedPossiblyIdentifiedBySomeID)
{
 childcontrol.Attributes.Add("onmouseover", "Script to Run");
}

在Page_Load eventhandler中用C#做这件事?我还想在面板上运行客户端的onload、onmouseclick和onmouseout,所以我也想附加这些属性。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-16 18:34:07

跳出框框,您可以在javascript中附加javascript事件侦听器,而不是使用ASP.NET内联指定onmouseover-attribute。

为面板提供一个CSS类:

代码语言:javascript
运行
复制
<asp:Panel CssClass="panel"></asp:Panel>

使用jQuery,绑定事件处理程序的语法如下所示:

代码语言:javascript
运行
复制
$(".panel").mouseover(functionToRun);

如果你没有使用jQuery,你将需要更多的代码,但是我相信你已经明白了。

票数 0
EN

Stack Overflow用户

发布于 2011-02-16 18:30:36

面板在客户端使用div表示,您可以使用SomePanel.ClientID获取客户端id。但是,如果您指的是触发面板,则始终可以在JavaScript中使用this

不会将所有事件处理程序放在每个元素上。

票数 0
EN

Stack Overflow用户

发布于 2011-02-16 18:35:06

将属性添加到面板中,以便在中继器中找到控件,因为每次绑定行时都会调用此事件,这样您就不必调用foreach。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5015196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档