2014-11-04 39 views
0

我想要訪問的PageLoad塊以外的字符串的值。在PageLoad之外訪問一個字符串值(if(!Page.IsPostBack))

我已經宣佈string sap1public

我的代碼是

 public partial class WebForm4 : System.Web.UI.Page 
    { 
    DateTime d = DateTime.Now; 
    string sap = ""; 
    string sap1; 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     //DateTime d = DateTime.Now; 

     TextBox1.Text = d.ToShortDateString(); 
     if (!Page.IsPostBack) 
     { 
      string q = d.ToShortDateString(); 
      string[] separators = { "-", "/" }; 
      string s = d.ToShortDateString(); 
      string[] words = s.Split(separators, StringSplitOptions.RemoveEmptyEntries); 
      foreach (var word in words) 
       sap = sap + word; 

      string constr = ConfigurationManager.ConnectionStrings["myString"].ConnectionString; 
      using (SqlConnection con = new SqlConnection(constr)) 
      { 


       sap1 = "D" + sap; 
       string query = "create table " + sap1 + " (Name varchar(50),ContentType 
     nvarchar(200),Data varbinary(MAX));"; 

       using (SqlCommand cmd = new SqlCommand(query)) 
       { 

        cmd.Connection = con; 
        con.Open(); 
        cmd.ExecuteNonQuery(); 
        con.Close(); 
       } 
      } 

      AddNewRow(); 
     } 
     protected void Button1_Click(object sender, EventArgs e) 
     { 
     Response.Write(sap1); 
     } 
    } 

我想訪問PageLoadsap1值。我想用它來插入到Query中。

+0

哪裏有你'初始化和sap''sap1'?它不在給定的代碼片段中。 – Shaharyar 2014-11-04 08:26:26

+0

@Shaharyar我已經初始化上面的PageLoad,但我沒有在代碼中提到..對不起... – 2014-11-04 08:28:23

+0

請爲你的問題添加一些細節。你在哪裏以及如何聲明變量?你在哪裏初始化它們?你在哪裏使用它們? – Shaharyar 2014-11-04 08:46:31

回答

0

你需要store the value of sap1 in a Session

Session["sap1"] = sap1; 

然後,當你需要它檢索:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Response.Write(Session["sap1"]); 
} 
+0

謝謝很多兄弟.. 認真謝謝你... – 2014-11-04 11:08:09

0

你必須有Page_Load方法

private string sap1; 

之外這個屬性的一些聲明,那麼您可以在全班進行訪問。但要小心ASP.NET頁面的生命週期。只有在Page_Load之後,您纔會有sap1值。在頁面生命週期的早期階段,它當然是空的。

+0

我已經公開聲明它,但它提供了空值,正如你所提到的那樣。 請幫助.. – 2014-11-04 08:31:56

+0

你想使用哪種方法? – 2014-11-04 08:43:00

+0

單擊按鈕單擊 – 2014-11-04 10:21:29

0

問題是如果檢查if(!Page.IsPostback)。您需要每PostBack計算sapsap1。所以當你點擊按鈕時它就可用。

只要刪除條件if(!Page.IsPostback)

+0

我不能刪除它..我需要它..無論如何,我得到了答案.. Thanx的答覆.. – 2014-11-04 11:06:43