我在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属性。

另外,我也不知道您是否在使用任何库,但是jQueryPrototype或其他库使在加载文档时很容易地将事件监听器毫不费力地绑定。

关于c# - .ascx中的javascript函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4892779/

10-13 06:21