none
Server.Transfer 时出现Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerServerErrorException: 错误 RRS feed

  • 问题

  • Server.Transfer 时,在目标页出现Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求

    时出现未知错误。服务器返回的状态码为: 404 请问要怎么解决呢。。
    2009年5月19日 9:07

答案

  • 页面代码的执行是先服务器端,再客户端。
    所以如果后台没有问题,就是前台脚本的问题了。
    你调试下脚本,看看是在哪里报错的。404应该是找不到指定的资源所以报错了。
    Microsoft Online Community Support
    • 已标记为答案 xia.feng85 2009年5月21日 2:32
    2009年5月21日 2:30

全部回复

  • 目标页第一次加载时不会报这个错误,是要进行一次PostBack后才报这个错误的。。

    调试js时 在scriptresource.axd 文件中报错

    [HttpException]: 文件“/web/Produce/MRP/Produce_ProduceOrder.aspx”不存在。
      在 System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
      在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
      在 System.Web.Compilation.BuildManager.GetV"
        responseXML: {...}
        status: 404
        statusText: "Not Found"


    web/Produce/MRP/Produce_ProduceOrder.aspx是我Server.Transfer的目标页...
    2009年5月19日 9:08
  • [HttpException]: 文件“/web/Produce/MRP/Produce_ProduceOrder.aspx”不存在。
    2009年5月19日 10:07
  • /web/Produce/MRP/Produce_ProduceOrder.aspx 就是当前页,所以肯定是存在的。
    2009年5月20日 1:00
  • 试验下 response.redirect


    有效回复过700 撒花
    2009年5月20日 6:15
  • response.redirect当然不会报错,但已经达不到server.transfer的效果了。
    2009年5月20日 6:33
  • 楼主,你好

    能否提供该页面的html代码和后台代码。


    Microsoft Online Community Support
    2009年5月21日 2:07
  • 嗯 下面是该页处理Server.Transef传过的面页代码 前面就是一些TextBox Button等基本控件了,因为使用了母版页在,该内容页都处于母版页的一个UpdatePanel里了。 protected override void Page_Load(object sender, EventArgs e)
    {
     base.Page_Load(sender, e);
    if (!IsPostBack)
    { if (HttpContext.Current.Handler is IProduce_ProduceOrder)
    {
    SDERP.web.Produce.MRP.MRP_DetailPage WebPage = (SDERP.web.Produce.MRP.MRP_DetailPage)HttpContext.Current.Handler;
    this.hidmrid.Value = this.txtMRID.Text = WebPage.MRID;
     SDERP.Model.Produce.Produce_ProduceOrderMod model = new SDERP.Model.Produce.Produce_ProduceOrderMod();
    IProduce_ProduceOrder IProduce_ProduceOrder;
    IProduce_ProduceOrder = (IProduce_ProduceOrder)HttpContext.Current.Handler;
     model = IProduce_ProduceOrder.Produce_ProduceOrder; this.uwcGID.Value = model.GID;
     this.uwcGID.Text = model.GName; this.txtModel.Text = model.Model;
    this.txtUnit.Text = model.Unit;
    SDERP.Model.Produce.Produce_ProduceOrderMod GetModel = produceOrderBLL.GetModel(WebPage.MRID, model.GID);
    if (GetModel != null)
    {
     this.txtSoureNumber.Text = GetModel.SoureNumber.ToString();
    this.txtThisNumber.Text = GetModel.ThisNumber.ToString();
     this.txtNumber.Text = (GetModel.SoureNumber - GetModel.ThisNumber).ToString();
    }
     else
     {
     this.txtSoureNumber.Text = this.txtNumber.Text = model.Number.ToString();
     this.txtThisNumber.Text = "0";
    }
    }
    }
    }
    2009年5月21日 2:11
  • 你好,
    你给的这部分代码我这边没办法看出问题。根据“Sys.WebForms.PageRequestManagerServerErrorException”这个错误,我觉得可能是你这个页面的AJAX报错了。

    你可以自己调试下page_LOAD中的代码,如果这部分没错,那就是页面部分脚本错误。然后你再再看看刚开始运行了哪些脚本,逐步检查试试。
    Microsoft Online Community Support
    2009年5月21日 2:23
  • 对,就是页面的AJAX报错了,因为我调试时程序根本没有跑到Page_LOAD里时就已经报错了。
    2009年5月21日 2:25
  • 页面代码的执行是先服务器端,再客户端。
    所以如果后台没有问题,就是前台脚本的问题了。
    你调试下脚本,看看是在哪里报错的。404应该是找不到指定的资源所以报错了。
    Microsoft Online Community Support
    • 已标记为答案 xia.feng85 2009年5月21日 2:32
    2009年5月21日 2:30
  • 嗯 谢谢了,我再调试一下。。
    2009年5月21日 2:31