簡體   English   中英

使用c#asp.net的2個asp:textbox值的總和

[英]sum of 2 asp:textbox values using c# asp.net

我如何簡單地在1個框中鍵入一個值,然后使用asp:textbox在另一個框中填充它。 我只是想從1個asp:textbox中提取值並將其放在另一個中,最終我將要添加2個框的總和並將其放在另一個中,我希望這是實時發生的,而不是使用按鈕。

使用javascript:

<asp:TextBox ID="txtTextSource" runat="server" onblur="TextSource_OnBlur(this)" />
<asp:TextBox ID="txtTextDestination" runat="server" />
<script type="text/javascript">
    function TextSource_OnBlur(oElement) {
        var destination = document.getElementById('<%= txtTextDestination.ClientID %>');
        destination.value = oElement.value;
    }
</script>

代替ASP.net,使用jQuery可以避免回發。

掛接到textbox1的change事件上,並使用jQuery填充文本框2。 試試看,讓我們知道。

我同意raja,您應該使用客戶端JavaScript(不必是jQuery)來處理此問題,因為它不需要服務器交互。 但是,出於某種瘋狂的原因,您希望它在服務器上發生。

First Number: <asp:TextBox runat="server" id="TB1" /><br />
Second Number: <asp:TextBox runat="server" id="TB2" /><br />
<asp:Button runat="server" id="CalculateBtn" OnClick="CalculateBtn_Click" Text="Calcualte Sum" />
Sum: <asp:TextBox runat="server" id="SumTB" />

背后的代碼

protected void CalculateBtn_Click (object sender, EventArgs e)
{
    int num1 = Int32.Parse(TB1.Text);
    int num2 = Int32.Parse(TB2.Text);
    int sum = num1+num2;
    SumTB.Text = sum.ToString();
}

顯然,您可以花更多的錢,使用雙精度代替整數,並驗證用戶是否鍵入了有效數字,並使用ScriptMethods或UpdatePanels實時進行操作,而無需按鈕。 但認真的說,堅持使用客戶端解決方案。

          $('.amount-input').live('blur', function () {
                  var amountSum = 0;
                       $('.amount-input').each(function () {
                         amountSum += parseInt($(this).val());
                       });

                           $('#<%= Damount.ClientID %>').val(amountSum);
                 enter code here

剛剛使用了Java腳本,並從服務器代碼中調用了總計金額“ Damount”。 仍然希望它實時更改,除了當我單擊文本框時,但是嘿,它可以工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM