使用c#asp.net的2个asp:textbox值的总和

时间:2014-04-14 16:24:52

标签: c# asp.net

我如何在1个框中键入一个值,并使用asp:textbox将其填入另一个框中。我只想从1个asp:textbox中取出值并将其放入另一个,最终我将添加2个盒子的总和并将其放入另一个盒子中,我希望这是实时发生而不是使用按钮。

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

使用jQuery代替ASP.net,因为它可以避免回发。

挂钩到textbox1的change事件并使用jQuery填充文本框2。试一试,告诉我们。

答案 2 :(得分:0)

我同意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实时完成而无需按钮。但严肃地说,坚持使用客户端解决方案。

答案 3 :(得分:0)

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

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

刚刚使用了java脚本并调用了总量,即#34; Damount&#34;从服务器代码。仍然希望它实时更改,除非我点击文本框但是嘿它有效!