4

コードが多いので、簡単に言葉で説明したいと思います。JavaScriptファイルへのすべての参照を含むマスターページがあり、マスターページを使用するページがあります。私は自分のページで更新パネルを使用しており、更新パネル内には、ポストバック機能 (つまり、ドロップダウンリスト) を含むいくつかのフォームがあります。問題は、状態が変化し、部分的なポストバックが発生したときです。これらの JavaScript のためにフォームにいくつかの機能と効果があり、すべての機能が失われます。どんな助けでも大歓迎です。

4

1 に答える 1

6

これは、更新パネルで部分的にポストバックした後、JavaScript を再初期化する必要があるためです。これは一般的な例です

<script type="text/javascript"> 
   // if you use jQuery, you can load them when dom is read.
   $(document).ready(function () {
       var prm = Sys.WebForms.PageRequestManager.getInstance();    
       prm.add_initializeRequest(InitializeRequest);
       prm.add_endRequest(EndRequest);

       // Place here the first init
    });        

    function InitializeRequest(sender, args) {
    }

    function EndRequest(sender, args) {
       // after update occur on UpdatePanel re-init what you need

    }
</script> 

関連する質問:
Gridview Jquery DatePicker の Asp.Net UpdatePanel
javascript で要求を初期化する Id 更新パネルを取得する方法

ネット 4 の後、関数を簡単に使用することもできますpageLoad。これは OnLoad 関数に似ていますが、asp.net によって処理され、最初のページの読み込み時に呼び出されますが、各 ajax 更新後にも呼び出されます。

function pageLoad()
{
    // init here your javascript
    // This is called when the page load first time
    //  and called again each time you have an Update inside an UpdatePanel
}

参照: http://msdn.microsoft.com/en-us/library/bb386417(v=vs.100).aspx

于 2013-02-08T09:57:34.687 に答える