【问题标题】:Pass HTML id in another web form在另一个 Web 表单中传递 HTML id
【发布时间】:2016-08-15 08:58:25
【问题描述】:

我尝试在Report.aspx 中显示水晶报表。所以首先我创建类“``report_class` 并在该类中创建这样的函数:

使用 cookie

在 webform2 我试试这个

  public static bool setCookiesValue(Page page, string cookiesName, string cookiesValue, ref string ermsg)
    {
        if (cookiesValue.Trim().Length < 1)
        {
            ermsg = "cookies empty";
            return false;
        }


        HttpCookie clearCookies = page.Request.Cookies[cookiesName];
        clearCookies[cookiesName] = cookiesValue;
        clearCookies.Expires = DateTime.Now.AddDays(1d);
        page.Response.Cookies.Add(clearCookies);
        return true;
    }



    public static String getCookies(Page page, string cookiesName)
    {
        try
        {
            HttpCookie GetCookies = page.Request.Cookies[cookiesName];
            return GetCookies[cookiesName].ToString();
        }
        catch (Exception er)
        {

            return string.Empty;
        }

    }

然后点击按钮

 protected void Button6_Click(object sender, EventArgs e)
    {
        try
        {


       string datef = string.Empty;
        setCookiesValue(this, "fromdate", "todate","regiondrop", ref ret);
            report_class r = new report_class();
            Report_Detail report = new Report_Detail();
            Response.Redirect("Reports.aspx");

        }
        catch
        {
            Label4.Visible = true;
        }
    }

在reports.aspx中

protected void Page_Load(object sender, EventArgs e)
        {


            Report_Detail report = new Report_Detail();
            report_class r = new report_class();
            string date_f = getCookies(this, "fromdate");
            string date_t = getCookies(this, "todate");
            string drop_r = getCookies(this, "regiondrop");
            r.Bindreport_class(report, Convert.ToDateTime(date_f),   
            Convert.ToDateTime(date_t), Convert.ToString(drop_r));
            CrystalReportViewer1.ReportSource = report;
            CrystalReportViewer1.DataBind();


        }

但这显示错误

Error   8   No overload for method 'setCookiesValue' takes 5 arguments  
Error   3   The name 'getCookies' does not exist in the current context 

【问题讨论】:

  • 你的意思是,你需要 CR 中的参数?举个例子。。
  • cr?????????????????
  • Crystal Report Buddy..意思是CR
  • 没有页面中已经有参数我只想在 CR 中显示这些值

标签: c# asp.net reporting-services crystal-reports


【解决方案1】:

您只需将示例 form1 中的值传递给 form2:

这样做:

FORM2

 public partial class Form2 : Form
    {
        public static Label  lblvar= null;
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }
    }

FORM1:

 public partial class Form1 : Form
    {
        public Form1()
        {
            Form2.lblvar = lblvarinform1;
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            lblvarinform1.Text = txtdatepicker.Text;
            Form2.lblvar.Text = lblvarinform1.Text;
        }
    }

使用 Cookie:

 public static bool setCookiesValue(Page page, string cookiesName, string cookiesValue,ref string ermsg)
        {
            if (cookiesValue.Trim().Length < 1)
            {
                ermsg = "cookies empty";
                return false;
            }


                HttpCookie clearCookies = page.Request.Cookies[cookiesName];
                clearCookies[cookiesName] = cookiesValue;
                clearCookies.Expires = DateTime.Now.AddDays(1d);
                page.Response.Cookies.Add(clearCookies);
                return true;
        }



 public static String getCookies(Page page,string cookiesName)
        {
            try
            {
                HttpCookie GetCookies = page.Request.Cookies[cookiesName];
                return GetCookies[cookiesName].ToString();
            }
            catch (Exception er)
            {

                return string.Empty;
            }

        }

使用上面的函数:

设置 cookie 新值:

string ret = string.Empty;
        setCookiesValue(this,"yourcookiesname","thisisyourdatevaue_or_any",ref ret);

以另一种形式获取 cookie 值:

string getval = getCookies(this,"yourcookiesname");

【讨论】:

  • 传递变量的另一种方式,你也可以使用cookies来存储变量。
  • 小心使用会话,使用cookie比使用会话好得多。访问您网站的其他用户可以使用会话存储值。
  • 我使用这样的会话。会话["fromdate"] = Convert.ToDateTime(fromdate.Value);会话["todate"] = Convert.ToDateTime(todate.Value);会话["regiondrop"] = regiondrop.SelectedValue;
  • 等一下,也许我可以分享给你
  • 并像这样使用这些值.. r.Bindreport_class(report,Convert.ToDateTime(Session["fromdate"]),Convert.ToDateTime(Session["todate"]),Convert.ToString(会话["regiondrop"]));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-29
相关资源
最近更新 更多