我在SOF上查看了大约5个问题,但还没有真正找到有用的答案。我应该如何从.ascx控件中的客户端事件调用我的javascript函数?这是我的.ascx文件..大多数答案使我明白了什么:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UIMenu.ascx.cs" Inherits="controls_UIMenu" %>
<script language="javascript" type="text/javascript">
function insetItem(myMenu)
{
myMenu.setAttribute("class", "myClass");
}
</script>
<asp:Menu ID="Menu1" runat="server" Font-Bold="True" Font-Size="Large" Height="50px"
Orientation="Horizontal" Target="_self" StaticMenuItemStyle-HorizontalPadding="10px"
OnMenuItemClick="insetItem(this)" StaticMenuItemStyle-BorderStyle="outset">
<Items>
<asp:MenuItem NavigateUrl="~/Home.aspx" Target="_self" Text="Home" Value="Home"></asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Loaner.aspx" Target="_self" Text="New" Value="New"></asp:MenuItem>
</Items>
</asp:Menu>
通过这种方式我遇到了不同的错误。 “ ..... ascx不包含“ insetItem”的定义”,并且使用此文件的其他页面不再识别它。当我尝试将js放在将要使用它的实际.aspx页面上时,出现相同的未定义错误。
我刚开始学习jscript,仍然很菜鸟。我试图做到这一点,以便当用户向下单击菜单项时,我希望该项目的边框样式更改为“插图”。我不确定如何更改在javascript> _
最佳答案
MenuItemClick
实际上是MenuEventHandler
c#事件处理程序。我相信您会寻找某种OnClientClick
,或者只是使用onclick
属性。
另外,我也不知道您是否在使用任何库,但是jQuery
,Prototype
或其他库使在加载文档时很容易地将事件监听器毫不费力地绑定。
关于c# - .ascx中的javascript函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4892779/