求助!如何实现textbox之间的值修改互相绑定?
先上代码:
C# code
protected void TextBoxTime1_TextChanged(object sender, EventArgs e)
{
int time1 = Convert.ToInt32(TextBoxTime1.Text);
int week1 = Convert.ToInt32(TextBoxWeeks1.Text);
double y1 = Convert.ToDouble(TextBoxY1.Text);
double statime1 = time1 * week1 * y1;
TextBoxStaTime1.Text = Convert.ToString(statime1);
}
我想这样:
通过在一个文本框中输入一个新值,回车,然后后台就读取新值,和另外两个文本框之中的值相互进行一个运算,得到的结果再放到第四个文本框里。这时候,第一个文本框和第四个文本框的值都变成新的值。
奇怪的是上面的代码完全没用,输入新值,回车,新值变回旧的值,其他什么都没改变....请问我哪里做错了?应该如何改?哪位大大帮帮我?
------解决方案--------------------是不是没有设置TextBoxTime1文本框的AutoPostBack=true啊,没设的话后台事件不起作用。
------解决方案--------------------应该只能有两种思路吧
客户端:js来弄
客户端+服务器:ajax或服务器事件
------解决方案--------------------TextChanged是文本改变且失去焦点时发生,你输入按tab键试试,不然就是你代码有问题。
------解决方案-------------------- private void textBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyValue == 13)
{
int time1 = Convert.ToInt32(textBox1.Text);
int week1 = Convert.ToInt32(textBox2.Text);
double y1 = Convert.ToDouble(textBox3.Text);
double statime1 = time1 * week1 * y1;
textBox4.Text = Convert.ToString(statime1);
}
------解决方案--------------------建议用JS
用文本框的onblur事件,当第一个文本框失去焦点时,计算值放到第四个文本框中去.
------解决方案--------------------C# code
<asp:TextBox runat="server" ID="TextBoxTime1" Width="100px" onTextChanged="TextBoxTime1_TextChanged1"[color=#FF0000] AutoPostBack="true"[/color]></asp:TextBox>
------解决方案--------------------
+1