网络编程 
首页 > 网络编程 > 浏览文章

此页的状态信息无效,可能已损坏 的处理办法及原因分析

(编辑:jimmy 日期: 2025/12/27 浏览:3 次 )

当时的情况是这样的:

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标签

上一篇:MultiLine 换行后实现读取不换行的具体思路
下一篇:ASP.NET(C#)验证数字的两种方法
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap