日期:2014-05-18  浏览次数:20419 次

不使用Ajax能解决掉这个PostBack吗?
简单描述:有TextBox1,TextBox2,TextBox3。其中TextBox3中的文本是1,2之和。
自动求和的代码:
function   Sum()
                {
        document.getElementById( "TextBox3 ").value=Number(document.getElementById( "TextBox2 ").value)+Number(document.getElementById( "TextBox1 ").value);              
                }

<asp:TextBox   ID= "TextBox3 "   onfocus= "Sum() ">

另外网页中还有一个DropDownList   设定AutoPostBack= "True "。

现在的问题是当我选择DropDownList时(也就是当有PostBack时)TextBox3中的内容就清空了。老大们,能解决吗?

------解决方案--------------------
把DropDownList和textbox3放到 if (!Page.IsPostBack)里试试?
------解决方案--------------------
在PAGE_LOAD的时候算一下TEXTBOX3的值,赋值一下
这个主要是因为TEXTBOX3的值没有写入.NET默认的VIEWSTATE里面保存
------解决方案--------------------
写js,用textbox的onkeydown或者onkeyvup
------解决方案--------------------
DropDownList 换成 html的.

------解决方案--------------------
if (!IsPostBack)
{
this.TextBox3.Attributes.Add( "onfocus ", "Sum() ");
this.DropDownList1.Items.Add( "aaa ");
this.DropDownList1.Items.Add( "bbb ");
}