2016-08-15 4 views
0

Я пытаюсь отобразить отчет о кристалле в Report.aspx. поэтому для этого первый я создать класс «` `report_class` и в этом классе я создать функцию, как это:Пропустить HTML-идентификатор в другой веб-форме

с использованием куки

в 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 
+0

вы имеете в виду, вам нужен параметр в CR? дайте пример .. –

+0

cr ????????????????? – user6628729

+0

Crystal Report Buddy .. это означает CR –

ответ

0

Вам просто нужно передать значение, например, от 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; 
     } 
    } 

ИСПОЛЬЗОВАНИЯ COOKIES:

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; 
      } 

     } 

с помощью функции выше:

набора печенья нового значения:

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

получить значение куков в другой форме:

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

. Другим способом этой передающей переменной вы можете также использовать куки для хранения переменной. –

+0

ok я использую сессии и сеанс отлично работает для меня – user6628729

+0

будьте осторожны с использованием сеанса, гораздо лучше использовать файлы cookie, чем сеанс. запомненное значение сеанса может использоваться другим пользователем, который обращается к вашему сайту. –