2017-06-08 9 views
2

私はWebFormsプロジェクトを持っており、データシートのあるページが1つあります。 関連するものは、このように編成されています。
Site.master:Default.aspx.csでWebmethodが呼び出されましたが、JavaScriptの成功/エラー応答が入力されません

<body>  
    <form runat="server">  
    <asp:ScriptManager runat="server" EnablePageMethods="true" ID="ScriptManager1">  
     <Scripts>  
      <asp:ScriptReference Path="~/Scripts/custom-datatable.js" /> 

WebMethod属性:

[System.Web.Services.WebMethod] 
    public static object GetAllCONTEGGI(Nullable<DateTime> dateFrom, Nullable<DateTime> dateTo, Nullable<int> idUtente, Nullable<int> eventType, Nullable<int> logType) 
    { 
... 
     var result = LogReader.SearchLogEvento(dateFrom, dateTo, idUtente, string_eventType, string_logType); 
     return result; 
    } 

javascriptのカスタムdatatable.js:

$(document).ready(function() { 
... 
PageMethods.GetAllCONTEGGI(null, null, null, null, null, SuccessOnLoadingLoadUtentiFunzioni, OnError); 
function SuccessOnLoadingLoadUtentiFunzioni(dataset){...} 
function OnError(data) { } 
} 

この方法では、すなわち、すべてのJavaScriptコードを呼び出し、正常に動作します$(ドキュメント).ready(関数(){...私は指摘し

こと、ボタンID = "btnClick" をクリックすると、ページ内の私はとにかく
保護のボイドをPage_Load(オブジェクト送信者、EventArgsの電子) {... Default.aspx.cs

の にブレークポイントを設定すると、PageMethodコールがSuccessOnLoadingLoadUtentiFunzioniに渡される参照として、ポストバックを行います私はDatatableを作成/ロードします。

私はボタンにonclickイベントハンドラを追加するとき<button id="btnClick" onclick="LoadDataTable();" >Cerca log</button>、 とはdocument.readyにそのイベント内のすべてのJavaScriptコードを挿入し、ではない、ということである何私のために奇妙である、:

LoadDataTable() 
{ 
... 
PageMethods.GetAllCONTEGGI(null, null, null, null, null, SuccessOnLoadingLoadUtentiFunzioni, OnError); 
function SuccessOnLoadingLoadUtentiFunzioni(dataset){...} 
function OnError(data) { } 
} 

WebMethodが呼び出されます(デバッグ時に表示されます)が、OnSuccess(SuccessOnLoadingLoadUtentiFunzioni)もOnErrorも通過しません。

私の質問は次のとおりです。 1. WebMethodsはポストバックをしないとは思いませんか? (私はdocument.readyに直接ではない機能にJavaScriptコードを挿入したときにケース)は、第2の場合の応答を返すことはないWebMethod属性を引き起こし何 2.

おかげで、これと

答えて

0

Riplace:

<button id="btnClick" type="button" onclick="LoadDataTable();" >Cerca log</button> 

あなたがタイプ=「ボタン」を欠けている、これはポストバックするページを防ぐことができますし、応答がONSUCCESS

+0

うわーに渡すことができます!それは私のすべての問題を魔法のように解決するようです。ポストバックがなく、WebMethodの応答がOnSuccessに渡されます!どうもありがとう ! U befsh 1000 vjec! – bramzoti

関連する問題