1

私のasp.netプロジェクトの1つに、サーバーで実行していくつかの値を更新する2つのaspテキストボックスがあります(aspx.vbでいくつかの計算が行われます)。クリックするとjavascript(.aspxページにある)を呼び出すタイプ入力(htmlボタン)の送信ボタンもあります。

<asp:TextBox ID="TextBox1" runat="server" AutoPostBack=true   Width="38px"></asp:TextBox>

<asp:TextBox ID="TextBox2" runat="server" AutoPostBack=true   Width="33px"></asp:TextBox>

  <input type="button" id="22" value="Draw graph" OnClick="surface.plot1();"   />
  &nbsp;<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

問題は、いくつかの値を入力してボタンを直接クリックするTextBox1と、初めて呼び出されないことです。そのため、ボタンをもう一度クリックして解雇する必要があります。TextBox2 に値を入力してからボタンを直接クリックしたことが原因であることはわかっています。そのため、AutoPostBack はボタンの最初のクリックで実行され、2 回目のボタンをクリックすると実際の関数が呼び出されますか?.これを回避する方法ボタン自体の最初のクリックで 呼び出されるようにするには?または、これを達成するための代替手段はありますか? (ただし、TextBox2 の autopost バックは機能するはずです。そうしないと、すべてがうまくいかなくなります)。TextBox2surface.plot1();surface.plot1();surface.plot1();

4

1 に答える 1

0

surface.plot1() の前にいつでもこれらの計算を実行しても問題ない場合は、ボタンをサーバー側に変更し、そのクリックで Click 関数で計算を実行し、計算が完了したら、javascript を呼び出します。Here で説明されているように、コードビハインドの関数 surface.plot1() 。また、テキスト ボックスから AutoPostBack="true" を削除することを忘れないでください。

于 2013-03-15T12:32:41.190 に答える