4

__doPostBack の使用方法に誤りがありますか?

function displaymessage() {
  var scl = "aaaaaa";
  var pageId = '<%=  Page.ClientID %>';
  __doPostBack(pageId, 'OtherInformation');
  alert(scl);
}

<input type="button" value="Click me!" id="Button2" onclick="displaymessage()"   />

ボタンを押すと、コード ファイルで RaisePostBackEvent が呼び出されるはずですが、そうではありません。doPostBack にコメントするとアラートに到達しますが、コメントを外すと到達しません。したがって、doPostBack の使用方法のエラーに違いありません。

この投稿に従いました: JavaScript から ASP.NET 関数を呼び出しますか?

4

5 に答える 5

2

私にとって、_dopostback() は IE と chrome ブラウザーでのみ起動していませんでした。「return false;」を追加して解決しました。JavaScript 関数内のステートメント。例えば:-

  function test()
{
    _dopostback("logout","");
return false;
}

今は正常に動作しています。

于 2015-11-27T07:49:01.157 に答える
1

次のスクリプトを html ファイルのヘッダー セクションに配置します。

<script>
    function __doPostBack(eventTarget, eventArgument) {
        document.Form1.__EVENTTARGET.value = eventTarget;
        document.Form1.__EVENTARGUMENT.value = eventArgument;
        document.Form1.submit();
    }
</script>
于 2011-04-24T13:14:07.283 に答える
0

__doPostBack('OtherInformation') の2 番目の引数を削除し、空の文字列に置き換えます''。必要に応じてそのデータを非表示の入力フィールドに入れ、 を使用して取得できますRequest.Form

于 2012-02-08T14:42:40.963 に答える
0

また、あなたが言及した同じ投稿に従ってエラーが発生しました。ここで他の回答を使用しようとしましたが、それでも機能しませんでした。

この投稿を見つけるまで: http://forums.asp.net/t/1197643.aspx (NC01 による 8 番目の返信を見てください)。

1.基本的には、aspxに次のようなものを含める必要があります。

<script type="text/javascript" language="javascript">
  function myfunction() {

              if ('<%=Page.IsPostBack%>' == 'False') {
                 var pageId = '<%= this.UniqueID %>';
                  __doPostBack(pageId, 'do_something_good');
              }
          }
</script>

2.次に、.cs にインターフェイス IPostBackEventHandler を追加する必要があります (例:)

public partial class _default : System.Web.UI.Page, IPostBackEventHandler

3.そして、page_load の .cs に次の行を追加します。

this.ClientScript.GetPostBackEventReference(this, string.Empty);

4.インターフェースを実装することを忘れないでください:

public void RaisePostBackEvent(string eventArgument)
  {
   if (eventArgument == "do_something_good")
   {
    //bla
   }
  }

そして何を推測してください - それは動作します!

@Subhash Dike - PageMethods は、AFAIK の静的メソッドに対してのみ機能します。

于 2012-02-23T18:49:37.207 に答える