1

ボタンにいくつかの計算を含むasp.net Webサイトがあります。ボタンを押すと、計算は正常に機能しますが、最初にページが更新され、次に計算がラベルに表示されます。その計算を行いたいのは、ラベルを直接見ることです。さっぱりせずに。私はいくつかのコードを与えます。

ps また、Page_Loadには毎日の為替レートを受け取る機能があります

ASP

<asp:Button ID="Button1" runat="server" BackColor="#990000" 
 BorderColor="#333333" ForeColor="White" onclick="Button1_Click" Text="Calculate" 
 Width="85px" BorderStyle="Outset" style="margin-left: 20px" 
 ValidationGroup="grup1" />

ボタンクリック

protected void Button1_Click(object sender, EventArgs e)
{
double sayi1, sayi2, sayi3, hesap, sonuc;

sayi1 = Convert.ToDouble(Tb1.Text);
sayi2 = Convert.ToDouble(Tb2.Text);
sayi3 = Convert.ToDouble(Tb3.Text);


if (Tb1.Text.Contains(".") || Tb2.Text.Contains(".") || Tb3.Text.Contains("."))
{
  ...
  ...
  ...
4

4 に答える 4

1

AJAX を使用します。そうでない場合は、常にポストバック イベントを呼び出します。または、JavaScript を使用してクライアント側のプログラミングを行います。

于 2012-01-26T01:24:38.743 に答える
0

コードビハインドにWebMethodを記述し、jQueryのクリック関数からWebMethodthisを呼び出します。

$(document).ready(function() {
   $("<%= Button1.ClientID%>").click(function() {
     $.ajax({
             type: "POST",
             url: "PageName.aspx/MethodName",
             data: "{}",
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function(msg) {
                // Do something interesting here.
             }
          });
   });
});

コードビハインドでwebMethodを記述し、

public partial class _Default : Page 
{
  [WebMethod]
  public static string MethodName()
  {
    //Your code for calculation goes over here.
  }
}
于 2012-01-26T01:52:24.803 に答える
0

UpdatePanel を使用できます。アヤク化する。Asp.net の更新パネル

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btn" EventName="Click" />
        </Triggers>
        <ContentTemplate>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <asp:Label ID="lblResult" runat="server" />
            <asp:Button ID="btn" runat="server" OnClick="btn_Click" Text="text" />
        </ContentTemplate>
    </asp:UpdatePanel>

コードビハインドで。// ただし、Format Execption を避けるために、すべての入力を検証する必要があります

protected void btn_Click(object sender, EventArgs e)
        {
            int num1, num2, sum;
            TextBox t = (TextBox) UpdatePanel1.FindControl("Textbox1");
            num1 = Convert.ToInt32(t.Text);
            t = (TextBox)UpdatePanel1.FindControl("Textbox2");
            num2 = Convert.ToInt32(t.Text);
            sum = num1 + num2;
            lblResult.Text = sum.ToString();
        }
于 2012-01-26T02:44:17.770 に答える