FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4429|回复: 3
打印 上一主题 下一主题

版本:v3.1.2中HttpContext.Current.Request.Form["X_STATE"]为空时报错

[复制链接]
跳转到指定楼层
楼主
发表于 2012-4-5 17:09:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//ExtAspNet\ExtAspNet\Business\ResourceManager\ResourceManager.cs
public JObject PostBackStates
        {
            get
            {
                if (_requestState == null && Page.IsPostBack)
                {
                    //string state = HttpUtility.UrlDecode(HttpContext.Current.Request.Form["X_STATE"]);
                    string state = HttpContext.Current.Request.Form["X_STATE"];
                    string xstateURI = HttpContext.Current.Request.Form["X_STATE_URI"];
                    if (String.IsNullOrEmpty(xstateURI))
                    {
                        state = DecodeFrom64(state);
                    }
                    else
                    {
                        state = HttpUtility.UrlDecode(state);
                    }
                    if (String.IsNullOrEmpty(state))
                    {
                        state = "{}";
                    }
                    _requestState = JObject.Parse(state);
                }
                return _requestState;
            }
        }
沙发
发表于 2012-4-5 17:24:26 来自手机 | 只看该作者
这个正常情况下不会为空,你怎么测的,官网示例能重现么
板凳
 楼主| 发表于 2012-4-6 11:02:18 | 只看该作者
本帖最后由 redleaf 于 2012-4-6 11:10 编辑

官网示例没有这样的问题。
问题是这样的:在页面上加入Fastreport.net报表后,如用报表中的保存功能时,会出现这样的问题。(可能保存按钮是客户端控件)。
在很早前的版本中是不报错的,但是如第一次在没有查询数据时,点保存后extropDownList中的值会被清空。




//.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="artUsedChartReport.aspx.cs" Inherits="WebTeam.Reports.PartUsedChartReport" %>

<%@ Register Assembly="FastReport.Web" Namespace="FastReport.Web" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>子报表</title>

    <script src="../../res/js/Report.js" type="text/javascript"></script>

</head>
<body>
    <form id="form1" runat="server">
    <extageManager ID="ageManager1" AutoSizePanelID="RegionPanel1" runat="server"
        EnableAjax="false" />
    <ext:HiddenField runat="server" ID="hidPreValue">
    </ext:HiddenField>
    <ext:RegionPanel ID="RegionPanel1" runat="server">
        <Toolbars>
            <ext:Toolbar ID="Toolbar2" Position="Top" runat="server">
                <Items>
                    <ext:ToolbarFill ID="ToolbarFill2" runat="server">
                    </ext:ToolbarFill>
                </Items>
            </ext:Toolbar>
        </Toolbars>
        <Regions>
            <ext:Region Position="Top" Height="60px" ShowHeader="false" ShowBorder="false">
                <Items>
                    <ext:Form ID="Form2" runat="server" LabelWidth="40px" ShowHeader="false" ShowBorder="false">
                        <Rows>
                            <ext:FormRow>
                                <Items>
                                    <extabel runat="server" ID="lblExplain" CssStyle="font-size:16;font-weight:bold;">
                                    </extabel>
                                </Items>
                            </ext:FormRow>
                            <ext:FormRow>
                                <Items>
                                    <extropDownList ID="ddlYear" Label="年份" Width="160px" runat="server" AutoPostBack="false">
                                    </extropDownList>
                                    <extropDownList ID="ddlPartType" Label="分类" Width="160px" runat="server" AutoPostBack="false">
                                    </extropDownList>
                                    <ext:Button runat="server" Text="查询" ID="btnReport1">
                                    </ext:Button>
                                </Items>
                            </ext:FormRow>
                        </Rows>
                    </ext:Form>
                </Items>
            </ext:Region>
            <ext:Region Position="Center" ShowHeader="false" ShowBorder="false" Layout="Fit">
                <Items>
                    <ext:ContentPanel runat="server" ShowHeader="false" ShowBorder="false">
                        <cc1:WebReport ID="WebReport1" runat="server" PrintInPdf ="true"
                        ShowToolbar="true" Zoom="1" Height="481px" Padding="5, 5, 5, 5" Width="810px" />
                    </ext:ContentPanel>
                </Items>
            </ext:Region>
        </Regions>
    </ext:RegionPanel>
    </form>
</body>
</html>
//.cs

using System;
using System.Web;
using System.Xml;
using System.ComponentModel;
using System.Web.UI.WebControls;
using System.Collections.Generic;
using FastReport.Data;
using FastReport;
using FastReport.Web;
using System.Windows.Forms;

namespace WebTeam.Reports
{
    public partial class PartUsedChartReport : PageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                WebReport1.Prepare();
                BindDDL();
            }
            
        }
        protected void btnReport1_Click(object sender, EventArgs e)
        {
            hidPreValue.Text = "query";
            WebReport1.Prepare();
        }
        protected void WebReport1_StartReport(object sender, EventArgs e)
        {
            if (hidPreValue.Text == "")
            {
                return;
            }
            hidPreValue.Text = "";
            Report FReport = WebReport1.Report;
            RegisterData(FReport);
        }
        private void RegisterData(Report fReport)
        {
            this.Title = base.GetQueryValue("ReportTitle");
            FastReport.EnvironmentSettings fsetting = new FastReport.EnvironmentSettings();
            fsetting.PreviewSettings.Buttons = FastReport.PreviewButtons.All | FastReport.PreviewButtons.Close;
            fsetting.UIStyle = FastReport.Utils.UIStyle.Office2007Blue;
            //选择模板
            string sPath = CAXA.WEB.Utility.SysConfig.GetWebAppRootDir();
            string sFileName = sPath + "\\Reports\\PartUsedChart.frx";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(sFileName);
            fReport.Report.LoadFromString(xmlDoc.InnerXml);
            //设置报表中的参数值
            string sTitle1 = ddlPartType.SelectedText.ToString();
            fReport.Report.SetParameterValue("_type", sTitle1);
            string sTitle2 = ddlYear.SelectedValue.ToString();
            fReport.Report.SetParameterValue("_year", sTitle2);
            System.Data.DataSet ds = new System.Data.DataSet();
            //注册数据
            fReport.Report.RegisterData(ds);
            fReport.Report.FileName = this.Title;
        }
        private void BindDDL()
        {
            base.BindDDLPartTypes(ddlPartType);
            base.BindDDLYear(ddlYear, false);
        }
    }
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
地板
 楼主| 发表于 2012-4-9 17:22:54 | 只看该作者
PageManager中EnableAjax ="false" 时客户端submit报错。IE8, 版本3.1.3
http://bbs.extasp.net/forum.php? ... 407&fromuid=598
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-6-13 10:13 , Processed in 0.047414 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表