17

ツリーファイルスクリプトを追加するページがあります。

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/init.js"></script>
<script type="text/javascript" src="js/easing.js"></script>

ドロップダウンリスト付きの更新パネルがあります。SelectedIndexChangedイベント(updatepanelの部分的なポストバック)を実行するときは、javascriptを実行しないでください。

4

5 に答える 5

33

pageLoad次の関数を使用します。

function pageLoad(sender, args) {
  InitialiseSettings();
}

function InitialiseSettings(){
    // replace your DOM Loaded settings here. 
    // If you already have document.ready event, 
    // just take the function part and replace here. 
    // Not with document.ready 
    $(element).slideUp(1000, method, callback});

    $(element).slideUp({
                   duration: 1000, 
                   easing: method, 
                   complete: callback});
}

または、「endrequest」イベントハンドラーを.add_endRequest()次のように追加してみてください。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(InitialiseSettings)

編集:

コードをからに移動してから、イベントハンドラーとして登録することをお勧めdocument.readyしますInitialiseSettings()pageLoaded

コード例

 Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitialiseSettings)
于 2012-12-26T09:46:53.937 に答える
24

javascriptを完全および部分的なポストバックで実行するには、javascriptコードをjavascript pageLoad()関数に配置します。

function pageLoad()
{
   //your javascript code
}

例:

function pageLoad() {

    $(':submit').click(function () {
        CommodityArray();
    });
    $('#btn_image').click(function () {
       CommodityArray();
    });
    $(".repHeader").disableSelection();

    CommodityArray();
}

それが役に立てば幸い!:)

于 2012-12-26T09:55:13.927 に答える
8

更新パネルの後で、次のコードを使用する必要があります。

<script type="text/javascript" language="javascript">
var pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
pageRequestManager.add_endRequest(NewCharacterCount);
</script>

NewCharacterCountjavascript関数名はどこにありますか。

この記事を読んでくださいSys.WebForms.PageRequestManagerendRequestイベント お役に立てば幸いです。

于 2012-12-26T10:01:05.867 に答える
1

UpdatePanelを使用していて、更新パネルでコンテンツを更新した後にjavascript関数を呼び出したい場合は、以下の方法を使用して簡単に行うことができます。ページbodyタグで、関数を呼び出しますRefreshContent()

<body onload="RefreshContent()">

<script type="text/javascript">
  function RefreshContent()
  {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
  }

  function EndRequestHandler()
  {
    alert("Add your logic here" );
  }
</script>

参照リンク http://www.infoa2z.com/asp.net/how-to-call-javascript-function-after-an-updatepanel-asychronous-request-to-asp.net-page

于 2015-06-29T08:10:31.317 に答える
1

PageRequestManagerクライアントイベントを使用できます。送信者パラメーターには、必要な情報が含まれます。たとえば、これを行うことができます:

// Register event handler
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);

/// Executed when all page content is refreshed, full page or async postback: https://msdn.microsoft.com/en-us/library/bb397523.aspx
function pageLoaded(sender, args) {
    var isPostBack = sender.get_isInAsyncPostBack();
    if(!isPostBack) return;

    // PostBack logic here.
}
于 2017-06-26T13:22:08.837 に答える