当时的情况是这样的:
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标签 |