0

コードビハインドファイルにパブリック文字列があり、準備ができたらjavascriptから呼び出す予定です。ただし、実際には特定のイベントに関連付けられていないため、ページが読み込まれるたびに発生します。(IsPostBack)の場合にのみ起動するように設定しますが、(他の多くの理由で)使用しているコントロールはinput type = buttonであるため、ページが実際にポストバックを実行することはなく、コードが起動することはありません。

どうすれば次のようなものができますか?

public string dontExecuteYet()
 {
  Do some server side stuff
  Then redirect on delay
  return string
  }

コードビハインドで、指示するまで実行されないようにしますか?

4

4 に答える 4

0

これでAJAXを使用できることに同意しますが、これを非同期にする必要がない場合は、次のようなクエリ文字列を使用してください。

if(Request.QueryString["execute"] == "yes")
{
     dontExecuteYet();
}

JavaScriptでは、ボタンが押されたときにこのコードを実行する必要があります。

window.location = "yoursite.com?execute=yes";
于 2011-08-12T23:42:39.670 に答える
0

このようにPageメソッドとAJAXを使用してこれを行うことができます。

http://www.geekzilla.co.uk/View7B75C93E-C8C9-4576-972B-2C3138DFC671.htm

そのコードは、javascriptで呼び出した場合にのみ実行されます

...。

...。

実際には、onclick = "javascript:__ doPostBack('eventargument'、'eventvalue');"を追加して、入力ボタンにポストバックを強制することもできます。(あなたがそれを制御できる場合)

于 2011-08-12T22:32:18.807 に答える
0

私にとって、これはASP.Net Ajax+WebMethodです。

例を参照してください:

  1. http://msdn.microsoft.com/en-us/library/system.web.services.webmethodattribute.aspx#Y1843
  2. http://www.xdevsoftware.com/blog/post/Call-WebMethod-from-Javascript-in-ASPNET.aspx
  3. ASP.NET 4 jquery ajax webmethod呼び出し
于 2011-08-12T22:44:08.493 に答える
0

コードにアクセスする必要がある場合、最終的に(最初のPage_Loadの後を想定して)、次のようなことを行うことはできません。

if (!Page.IsPostBack)
{
    this.MyPublicString = "Hello World!";
}

そしてあなたのJavaScriptで:

var publicString = "<%= this.MyPublicString %>";
于 2011-08-12T23:30:51.173 に答える