1

asp.net で Web アプリケーションを作成しています。ページめくり効果が必要なので、turn.js (ref: http://www.turnjs.com/ ) を使用しました。ここで、サーバー側、つまり分離コードでいくつかのデータを処理し、それをクライアント側に送信する必要があります。上記の Web サイト ( https://github.com/blasten/turn.jsから) からプロジェクトをダウンロードしました。しかし問題は、動的ページを実際にロードしている .aspx ページのコード ビハインドから JavaScript にデータを送信する方法がわからないことです。

function addPage(page, book) {
        //  First check if the page is already in the book
        if (!book.turn('hasPage', page)) {
            // Create an element for this page
            var element = $('<div />', {'class': 'page '+((page%2==0) ? 'odd' : 'even'), 'id': 'page-'+page}).html('<i class="loader"></i>');
            // If not then add the page
            book.turn('addPage', element, page);
            // Let's assum that the data is comming from the server and the request takes 1s.
            setTimeout(function(){
                    element.html('<div class="data">Data for page '+page+'</div>');
            }, 1000);
        }
    }

これは、動的ページを追加する JavaScript 関数です。ページのコンテンツを行に追加する方法element.html('<div class="data">Data for page '+page+'</div>');

4

3 に答える 3

0

あなたが求めることをするためのいくつかの方法があります。

  1. asp:Literalコントロールをjavascript関数に追加します。その内容をコードビハインドに設定します。

        setTimeout(function(){
                element.html('<div class="data">Data for page '+<asp:Literal runat="server" Id="litPageData"></asp:Literal>+'</div>');
        }, 1000);
    
  2. 非表示フィールドを追加し、それをコードビハインドに設定して、Javascriptの値にアクセスします。

    <asp:Hidden runat="server" id="hidPageData"></asp:Hidden>
    

    (私はこれの構文に少しずれているかもしれません)

        setTimeout(function(){
                element.html('<div class="data">Data for page '+$('#<%= hidPageData.ClientId%>').val() +'</div>');
        }, 1000);
    
  3. Symeonのソリューション、すでに投稿されています。

于 2012-04-11T15:17:31.883 に答える
0

aspx ページで element.html('<%=pageData%>')

コード ビハインドで pageData というパブリック文字列を作成し、コード (おそらくページ Load イベント) で、必要なデータの文字列を pageData に入れます。

または、Web サービスまたは単純な ashx ファイルを作成して、必要なデータで応答し、ajax を使用して次のページ データを取得することもできます。

于 2012-04-11T15:09:14.283 に答える
0

インスタンス code.cs の分離コードで、変数を宣言します。

String strDummyValues = "Dummy value";

ASPX ページで:

使用<%=strDummyValues%>手段

element.html('<div class="data">Data for page '+<%=strDummyValues%>+'</div>');
于 2012-04-11T15:50:51.520 に答える