此页的状态信息无效,可能已损坏 的处理办法及原因分析
当时的情况是这样的:
a.aspx页面 执行一个url字符串访问b.aspx 然后 b页面返回一个值给a
a.aspx.cs的一段代码
string result = "";
string url = "http://localhost:1759/textweb/b.aspx";
result =exec_url(url);
label1.text = result;
public string exec_url(string url)
{
string result = "1";
webrequest request = webrequest.create(url);
try
{
request.timeout = 20000;//20秒超时
webresponse response = request.getresponse();
stream resstream = response.getresponsestream();
streamreader sr = new streamreader(resstream);
result = sr.readtoend();
sr.close();
resstream.close();
}
catch
{
return "1";
}
return result;
}
b.aspx页面代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
b.aspx.cs代码如下:
public partial class test : system.web.ui.page
{
protected void page_load(object sender, eventargs e)
{
response.write("你好 哈哈!");
}
}
运行时:第一次label内容显示正常 但当你不刷新页面再点击按钮时候就提示
system.web.httpexception: 此页的状态信息无效,可能已损坏
问题原因:
原来是这样的:第一次label加载内容时加载的内容为b.aspx
<form>
你好 哈哈!
</form>
再次点击时原理应该是这个样子的:
<form>
你好 哈哈!
<form>
你好 哈哈!
</form>
</form>
所以就出错了呀!
解决办法为:去掉b.aspx中的form标签