如何在不回发更新文本框的onchange? [英] How to update textbox onchange without postback?

查看:113
本文介绍了如何在不回发更新文本框的onchange?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法更新,而无需使用回发一个文本框?我想填充 txtDFS 字段的值,(100 - txtStocked)用户在输入数据后,在 txtStocked 字段。

以下code的作品,但它使用的回发这样的页面刷新。有没有办法做到这一点无需刷新页面?

 < ASP:文本框ID =txtStocked=服务器WIDTH =960x75像素的AutoPostBack =真OnTextChanged =txtStocked_TextChanged>< / ASP:文本框&GT ;
< ASP:文本框ID =txtDFS=服务器WIDTH =960x75像素>< / ASP:文本框>保护无效txtStocked_TextChanged(对象发件人,EventArgs的发送)
    {
        放养的int = Convert.ToInt16(txtStocked.Text);
        INT DFS =(100 - 放养);
        txtDFS.Text = dfs.ToString();
        txtDFS.Text = txtStocked.Text;
    }


解决方案

通过使用一个UpdatePanel解决了这个。这里是更新code:

 < ASP:的ScriptManager ID =SCMANAGER=服务器/>
< ASP:的UpdatePanel ID =SCPanel=服务器的UpdateMode =条件ChildrenAsTriggers =false的>
<&的ContentTemplate GT;< ASP:文本框ID =txtStocked=服务器WIDTH =960x75像素的AutoPostBack =真OnTextChanged =UPDATE_TEXT>< / ASP:文本框>
< ASP:文本框ID =txtDFS=服务器WIDTH =960x75像素只读=真>< / ASP:文本框>< /&的ContentTemplate GT;
< / ASP:的UpdatePanel>
保护无效UPDATE_TEXT(对象发件人,EventArgs的发送)
    {
        放养的int = Convert.ToInt16(txtStocked.Text);
        INT DFS =(100 - 放养);
        txtDFS.Text = dfs.ToString();
        SCPanel.Update();
    }

Is there a way to update a textbox without using postback? I'd like to populate the txtDFS field with the value of (100 - txtStocked) after the user enters data in the txtStocked field.

The following code works, but it uses postback so the page refreshes. Is there a way to accomplish this without refreshing the page?

<asp:TextBox ID="txtStocked" runat="server" Width="75px" AutoPostBack="true" OnTextChanged="txtStocked_TextChanged"></asp:TextBox>
<asp:TextBox ID="txtDFS" runat="server" Width="75px"></asp:TextBox>

protected void txtStocked_TextChanged(object sender, EventArgs e)
    {
        int stocked = Convert.ToInt16(txtStocked.Text);
        int dfs = (100 - stocked);
        txtDFS.Text = dfs.ToString();
        txtDFS.Text = txtStocked.Text;
    }

解决方案

Solved this by using an UpdatePanel. Here is the updated code:

<asp:ScriptManager ID="SCManager" runat="server" />
<asp:UpdatePanel ID="SCPanel" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>

<asp:TextBox ID="txtStocked" runat="server" Width="75px" autopostback="true" OnTextChanged="Update_Text"></asp:TextBox>
<asp:TextBox ID="txtDFS" runat="server" Width="75px" ReadOnly="True"></asp:TextBox>

</ContentTemplate>
</asp:UpdatePanel>


protected void Update_Text(object sender, EventArgs e)
    {            
        int stocked = Convert.ToInt16(txtStocked.Text);
        int dfs = (100 - stocked);
        txtDFS.Text = dfs.ToString();            
        SCPanel.Update();
    }

这篇关于如何在不回发更新文本框的onchange?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆