关于asp.net Ajax的问题,谁能回答一下
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="False"
UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</form>
**************后台代码*************************
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() == "")
TextBox1.Text = "1";
else
TextBox1.Text = (int.Parse(TextBox1.Text.Trim()) + 1).ToString();
}
**************************************************
环境:vs2008 .net 3.5 asp.net ajax
本来是异步提交,每点一次Button1文本框中就增加1.
可是在运行时,有时成功有时无效。过段时间(ScriptManager1的超时时间),提示超时。
使用web development helper 在无效时,提示的为“未将对象的引用设置到对象的实例”
使用HttpWatch看返回的内容为500,“未将对象的引用设置到对象的实例”。
为更好的显示出错误,可以考虑给ScriptManager1加上 AsyncPostBackTimeout="5" 。
没想明白为什么会500
500的意思是说程序执行过程中出错了,而且已经给出了错误信息:未将对象的引用设置到对象的实例
你试着把scriptmanager去掉,也就是不使用ajax,让页面刷新,多提交几次,应该也会出现这个错误,看一下具体是哪个对象为空了
看看其它地方有没有对于TextBox1.Text赋值,如果TextBox1.Text=“xxx”,int.Parse(TextBox1.Text.Trim())就会失败,可能导致出错,此外建议使用TryParse
dudu应该付给丁丁一大笔酬劳的。。实在话。
你先看看你给的这段代码会不会出错。。。我就没看出有什么错来。特别是未将对像引用设置到对象实例,你给的这段代码根本就出不了这个错~~~
看看你实际的代码吧。引用类型的对象检查一下哪些有空值的可能。
xuexi