LinkBut​​ton没有在OnClick中调用JavaScript函数?

时间:2012-04-19 21:12:43

标签: c# jquery asp.net

我正在尝试从asp链接按钮调用jquery函数。这是我的链接按钮html:

        <div style="padding-left:75px">
            <asp:LinkButton ID="lbAddCC" runat="server" ClientIDMode="Static" OnClick="ShowCCControls()" Text="Add CC"></asp:LinkButton>
        </div>

这是我的jquery函数:

        function ShowCCControls() {

          $('#lblCC').show();
          $('#txtCC').show();
      } //end ShowCCControls()

当我尝试构建时,我收到错误:

ASP.internal_email_aspx不包含'ShowCCControls'的定义,并且没有扩展方法'ShowCCControls'接受类型'ASP.internal_email_aspx'的第一个参数可以找到(你是否缺少using指令或汇编引用?)< / p>

我使用复选框在另一页上工作:

                   <asp:CheckBox ID="chkNew" TabIndex="8" runat="server" Text="New Tank" OnClick="SetNewTankControls()"
                   ClientIDMode="Static" />

有人看到了问题吗?感谢

以下是所有javascript:

    <script  type="text/javascript" language="javascript">

    //document.ready is used for jquery, waits until the doc is ready to be manipulated
    $(document).ready(function () {

        HideControls();

    });  //end document.ready



    function HideControls() {

        $('#lblCC').hide();
        $('#txtCC').hide();
       $('#lblBCC').hide();
        $('#txtBCC').hide();
    }  //end HideControls()

    function ShowBCCControls() {
        $('#lblBCC').show();
        $('#txtBCC').show();
    } //end ShowBCCControls

    function ShowCCControls() {

        $('#lblCC').show();
        $('#txtCC').show();
    }  //end ShowCCControls()

4 个答案:

答案 0 :(得分:9)

OnClick用于在代码隐藏中指定处理程序。如果要指定javascript函数,则应使用OnClientClick属性。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.onclientclick(v=vs.80).aspx

答案 1 :(得分:1)

    <div style="padding-left:75px">
        <asp:LinkButton ID="lbAddCC" runat="server" ClientIDMode="Static" OnClientClick="ShowCCControls()" Text="Add CC"></asp:LinkButton>
    </div>

答案 2 :(得分:1)

您可以在客户端脚本中设置处理程序,如下所示:

  $('#lbAddCC').click(function() {

      $('#lblCC').show();
      $('#txtCC').show();
  });

由于您不打算使用此单击事件执行服务器端行为,因此无需在服务器控件上定义处理程序,然后在可能的情况下将其呈现给客户端函数的调用直接打电话。

编辑:

您当然需要将客户端脚本与删除服务器控件上错误的OnClick处理程序结合起来,如下所示:

<asp:LinkButton ID="lbAddCC" runat="server" ClientIDMode="Static" Text="Add CC"></asp:LinkButton>

答案 3 :(得分:0)

可能是页面在加载jquery代码之前加载函数调用,请确保将jquery放在链接按钮之前并引用jquery liabrary