3

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」の定義が含まれておらず、「ASP.internal_email_aspx」タイプの最初の引数を受け入れる拡張メソッド「ShowCCControls」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

チェックボックスを使用して、これを別のページで機能させています。

                   <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

4 に答える 4

10

OnClick は、コード ビハインドでハンドラーを指定するためのものです。JavaScript 関数を指定する場合は、OnClientClick 属性を使用する必要があります。

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

于 2012-04-19T21:15:31.643 に答える
1
    <div style="padding-left:75px">
        <asp:LinkButton ID="lbAddCC" runat="server" ClientIDMode="Static" OnClientClick="ShowCCControls()" Text="Add CC"></asp:LinkButton>
    </div>
于 2012-04-19T21:18:58.257 に答える
1

次のように、クライアント スクリプトでハンドラーを設定するだけです。

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

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

このクリック イベントでサーバー側の動作を実行するつもりはないため、サーバー コントロールでハンドラーを定義する必要はありません。直接呼び出すことができる場合は、クライアント側関数への呼び出しをレンダリングします。 .

編集:

もちろん、以下のように、サーバー コントロールのエラーのある OnClick ハンドラーを削除して、クライアント側のスクリプトを結合する必要があります。

<asp:LinkButton ID="lbAddCC" runat="server" ClientIDMode="Static" Text="Add CC"></asp:LinkButton>
于 2012-04-19T21:21:17.060 に答える
0

ページがjqueryコードをロードする前に関数呼び出しをロードしている可能性があります。リンクボタンの前にjqueryを配置し、jqueryライブラリを参照してください。

于 2012-04-19T21:16:39.617 に答える