1

在我的一个 asp.net 项目中,我有两个 asp 文本框,它们应该在服务器上运行并更新一些值(在 aspx.vb 中会发生一些计算)。还有一个输入(html 按钮)类型的提交按钮,单击它会调用 javascript(位于 .aspx 页面中)。

<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>

现在的问题是,如果我在其中输入一些值TextBox1TextBox2直接单击该按钮surface.plot1();,则第一次不会调用该按钮。所以我需要再次单击该按钮才能被surface.plot1();解雇。我知道这是因为我在 TextBox2 中输入了值,然后直接单击按钮,所以 AutoPostBack 在第一次单击按钮时完成,当第二次单击按钮时,实际函数被调用?那么如何避免这种情况以便在第一次单击按钮本身时 surface.plot1();被调用?或者有没有其他方法可以实现这一目标?(但是 TextBox2 自动回发应该可以工作,否则一切都会出错)。

4

1 回答 1

0

如果您可以在 surface.plot1() 之前的任何时间进行这些计算,那么您可以将按钮更改为服务器端并单击它,在 Click 函数中进行计算,一旦完成计算,调用 javascript函数surface.plot1() 从您的代码后面解释here。请记住从您的文本框中删除 AutoPostBack="true"。

于 2013-03-15T12:32:41.190 回答