1

modalpopup に複数のキャンセル コントロールがありますが、btnCancel のみが機能し、$find().click が機能せず、「エラー: プロパティ 'クリック' の値を取得できません: オブジェクトが null です。または未定義」どんな助けでも大歓迎です。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="WebForm1.aspx.cs" Inherits="web.WebForm1" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:ScriptManager runat="server" ID="scriptManager" EnablePageMethods="true">
    </asp:ScriptManager>
    <asp:Button ID="btnShowPopupAmend" runat="server" />
    <asp:ModalPopupExtender ID="mpeAmend" runat="server" TargetControlID="btnShowPopupAmend"
        PopupControlID="pnlpopupAmend" CancelControlID="btnCancel" BackgroundCssClass="modalBackground" />
    <asp:Panel ID="pnlpopupAmend" runat="server" Width="700px" Style="display: none;"
        class="ModalPanel">
        <img src="images/close.png" style="cursor: hand" onclick="$find('btnCancel').click()"
            width="15" height="15" />
        <asp:Button ID="btnCancel" Text="Cancel" runat="server" OnClick="btnCancel_Click" />
    </asp:Panel>
</asp:Content>
4

3 に答える 3

1

私は要素からロジックを取り出します...

「closeImg」のように、画像にIDを付けます

あなたのjsは次のようになります:

$('#closeImg').click( function() {
    $('#btnCancel').click();
});
$('#btnCancel').click( function() {
    //whatever you want to have happen
});

例: http://jsfiddle.net/vgDPd/

これを $(document).ready() に入れて、DOMがロードされるようにしてください

于 2013-04-06T16:32:06.607 に答える
0

$find 構文が正しくありません。また、ID を選択するには、要素の ID の前に「#」を使用する必要があります。次のことを試すことができます。

$('#btnCancel').click()

また

$("body").find('#btnCancel').click()

また、@ smernyが言及したように。テンプレートからロジックを取り出して、準備が整った関数内に呼び出しをラップしてみてください。

準備完了関数は次のように記述できます。

<script>
$(document).ready(function(){
  $('#btnCancel').click();
});
</script>
于 2013-04-06T16:41:15.293 に答える
0

わかりました、次を使用してこれを機能させました...

modalpopupextender の behaviorID を設定し、画像の onclick イベントで $find().hide() を呼び出しました。

 <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
        CodeBehind="WebForm1.aspx.cs" Inherits="web.WebForm1" %>

    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <asp:ScriptManager runat="server" ID="scriptManager" EnablePageMethods="true">
        </asp:ScriptManager>
        <asp:Button ID="btnShowPopupAmend" runat="server" />
        <asp:ModalPopupExtender ID="mpeAmend" BehaviorID="mpeAmend" runat="server" TargetControlID="btnShowPopupAmend"
            PopupControlID="pnlpopupAmend" CancelControlID="btnCancel" BackgroundCssClass="modalBackground" />
        <asp:Panel ID="pnlpopupAmend" runat="server" Width="700px" Style="display: none;"
            class="ModalPanel">
            <img src="images/close.png" id="imgClose" alt="" style="cursor: hand" onclick="$find('mpeAmend').hide()"
                width="15" height="15" />
            <asp:Button ID="btnCancel" Text="Cancel" runat="server" OnClick="btnCancel_Click" />
        </asp:Panel>
    </asp:Content>
于 2013-04-06T19:56:42.897 に答える