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