2012-01-26 4 views
1

버튼에 계산이 포함 된 asp.net 웹 사이트가 있습니다. 버튼을 누르면 계산이 잘되지만 처음에는 페이지가 새로 고침되고 계산이 라벨에 표시됩니다. 그 계산을 직접하고 싶습니다. 상쾌하게하지 않고. 나는 몇몇 부호를 준다.버튼을 클릭하면 페이지를 다시로드 하시겠습니까?

p.s. 또한를 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(".")) 
{ 
    ... 
    ... 
    ... 

답변

1

를 사용하여 AJAX를 수신하는 기능을 가지고있다. 그렇지 않으면 항상 포스트 백 이벤트를 호출합니다. 또는 다른 한편으로 JavaScript로 클라이언트 측 프로그래밍을 수행하십시오.

0

코드 뒤에 WebMethod를 작성하고 jQuery의 클릭 기능에서 WebMethod를 호출하십시오.

뒤에 WEBMETHOD 쓰기 코드에서
$(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. 
      } 
      }); 
    }); 
}); 

,

public partial class _Default : Page 
{ 
    [WebMethod] 
    public static string MethodName() 
    { 
    //Your code for calculation goes over here. 
    } 
} 
0

당신은 UpdatePanel을 사용할 수 있습니다. ajaxify. Update panel in 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> 

코드 뒤에. 모든 입력 내용을 확인할 필요가 있지만, 형식 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(); 
     } 
0
Create new benchmark or Add rules to a benchmark</h3> 
      <asp:ScriptManager ID="ScriptManager1" runat="server"> 
       </asp:ScriptManager> 
      <asp:updatepanel ID="instuctionsUpdate" runat="server" updatemode="Conditional" > 
      <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="opener" EventName="click" /> 
      </Triggers> 
      <ContentTemplate> 
      <asp:button id="opener" runat="server" Text="Click me for instructions" 
      onClick="opener_click" EnableTheming="False" EnableViewState="False" /> 

에게

$("#<%=dialog.ClientID%>").dialog({ autoOpen: false }); 
     $("#<%=opener.ClientID%>").click(function(){ 
      $("#<%=dialog.ClientID%>").dialog("open"); 
     }); 
자바 스크립트를 피하기 위해 //
관련 문제