0

管理者の内部に 1 つ、管理者の外部に 1 つの 2 つのマスター ページがあります。

管理マスターページ外のjquery関数が特定のイベントで起動し、そのファイルからadminmasterにコピーしたときに同じ関数が発生し、エラーが発生しています

Microsoft jscript ランタイム エラー:「関数名」が定義されていません

ここでの違いは、管理マスターのコンテンツ ページに jquery 機能もあり、これらの機能のみが viewsource ページまたは firefox->firebug->script で使用できることです。

adminmasre 内にある機能はまったく使用できません。

これがadmin.masterの私のコードです

<asp:ContentPlaceHolder ID="scriptadmin" runat="server"> 
    <script type="text/javascript">
        $(document).bind("mobileinit", function () {
            $.mobile.ajaxEnabled = false;
        });

        $("#Logout").click(function (e) {
            e.stopImmediatePropagation();
            e.preventDefault();
        });

        function test() {
            alert("Test");
        }

        function Dologout() {
            //     Sys.Services.AuthenticationService.logout(null, OnLogoutSuceeded, OnLoginFailed, null);
            // return false;
        }

        //         function OnLogoutSuceeded(result, userContext, methodName) {
        //             alert('You have been successfully logged out of the application...');
        //          //   window.location.href("Login.aspx");
        //         } 

</script>

</asp:ContentPlaceHolder>
</body>
</html>

ここに、この関数を呼び出した div があります Back Logout

コンテンツページは:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"      Inherits="XYZ.Admin.Default" MasterPageFile="~/Admin/admin.Master"  %>
    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
        <h3 class="MainHeader">Upload Excel file to convert into database </h3>
        <asp:Label ID="lblmsg" runat="server" Text="" CssClass="message" ></asp:Label>
        <div class="file-upload-btn">
            <asp:FileUpload ID="FileUpload1" runat="server"  />
        </div>
        <div id ="ButtonWrapper" > 
            <asp:Button ID="btnUpload" runat="server" Text="Upload" data-role="none" onclick="btnUpload_Click"    />
        </div>
</asp:Content>

<asp:Content ID="script1" ContentPlaceHolderID="scriptadmin" runat="server">
    <script type="text/javascript">
         $(function () {
             $("#btnUpload").removeClass('ui-btn-hidden ui-btn-inner ui-submit ui-btn ui-shadow ui-btn-corner-all ui-btn-up-b');
             $("#FileUpload1").removeClass('ui-input-text ui-shadow-inset ui-corner-all ui-btn-shadow ui-body-c file-upload-btn');
         });
    </script>
</asp:Content>

どんな助けでも大歓迎です!!

4

1 に答える 1

1

place holder 内のコードを置き換えたのでscriptadmin、これらの関数は消えてしまいました。

マスター ページ内での作業方法ContentPlaceHolderは、マスター ファイル内のコードは、継承ファイルにその ContentPlaceHolder がない場合にのみ実行されるというものです。これはデフォルトのコンテンツなので、置き換えています。

あなたがする必要があるのは、Admin.Master を変更し、ContentPlaceHolder にデフォルト コードが含まれないように変更することです。代わりに常に追加されます。

<script type="text/javascript">
    $(document).bind("mobileinit", function () {
        $.mobile.ajaxEnabled = false;
    });

    $("#Logout").click(function (e) {
        e.stopImmediatePropagation();
        e.preventDefault();
    });

    function test() {
        alert("Test");
    }

    function Dologout() {
        //     Sys.Services.AuthenticationService.logout(null, OnLogoutSuceeded, OnLoginFailed, null);
        // return false;
    }

    //         function OnLogoutSuceeded(result, userContext, methodName) {
    //             alert('You have been successfully logged out of the application...');
    //          //   window.location.href("Login.aspx");
    //         } 

</script>
<asp:ContentPlaceHolder ID="scriptadmin" runat="server" />
于 2013-02-27T17:44:48.627 に答える