2016-11-15 101 views
0

我想在頁面刷新的同時增加值。我能怎麼做?如何在頁面刷新時增加一個值?

我的代碼:

protected void Page_Load(object sender, EventArgs e) 
    { 
     int evrno = 021006; 
     string EVRAKNO = "SP-"; 
     if (Page.IsPostBack == false) 
     { 
      evrno = evrno + 1;  
     } 

     string EvrakNu = EVRAKNO + Convert.ToString(evrno); 
     txt_EvrakNo.Text = EvrakNu;  
    } 
+0

其實你想做什麼? –

回答

0

迴環解決方案:

protected void Page_Load(object sender, EventArgs e) 
{ 

     int evrno = 21006; 
     string EVRAKNO = "SP-"; 

     //save initial value in Session 
     if (Session["evrno"] == null) 
     { 
      Session["evrno"] = evrno; 
     } 
     if (Page.IsPostBack == false) 
     { 
      //used the value saved in Session 
      evrno = Convert.ToInt32(Session["evrno"]) + 1; 

     } 
     string EvrakNu = EVRAKNO + evrno.ToString(); 

     //save NEW value in Session again 
     Session["evrno"] = evrno; 

     txt_EvrakNo.Text = EvrakNu; 
     //Response.Write(EvrakNu); 
} 
+1

是的工作謝謝:) –

0

您的代碼會給你相同的值作爲每次您在Page_Load初始化變量。每次發佈帖子時都會觸發此事件。

添加hiddenField頁面

<asp:HiddenField runat="server" id="hdnValue">

而且在Page_Load中做的而不是分配價值的:

int evrno = Convert.ToString((hdnValue.Value == ""? "0" : hdnValue.Value));

0

您可以使用屬性。

public int Evrno {get; set;} = 21006; 

protected void Page_Load(object sender, EventArgs e) 
{ 

    string EVRAKNO = "SP-"; 
    if (!Page.IsPostBack) 
    { 
     Evnro+=1;  
    } 

    // you can add 0 infront of Evnro if it is needed here 
    string EvrakNu = EVRAKNO + Convert.ToString(Evnro); 
    txt_EvrakNo.Text = EvrakNu;  
} 
1

您可以使用此會話狀態。您正在創建的頁面上的變量將在頁面加載時一次又一次地重置。

protected void Page_Load(object sender, EventArgs e) 
     { 
      if(Session["evrno"] != null) 
       Session["evrno"] = 21006; 
      int evrno; 
      string EVRAKNO = "SP-"; 
      if (Page.IsPostBack == false) 
      { 
       evrno = Convert.ToInt32(Session["evrno"].ToString()); 
       evrno = evrno + 1;  
       Session["evrno"] = evrno 
      } 

      string EvrakNu = EVRAKNO + Convert.ToString(evrno); 
      txt_EvrakNo.Text = EvrakNu;  
     } 
+0

此代碼不會增加值 –

+0

它會增加每個頁面加載類型爲「GET」的值。它不會增加頁面提交的價值 –

2

優化工作的代碼邏輯

protected void Page_Load(object sender, EventArgs e) 
    { 
     //Set default initial value in session 
     int evrno = (Session["evrno"] != null && Session["evrno"].ToString() != string.Empty) ? Convert.ToInt32(Session["evrno"]) : 021006; 
     string EVRAKNO = "SP-"; 
     if (!Page.IsPostBack) 
     { 
      //get value saved in Session 
      evrno +=1; 
      //set save new value in session 
      Session["evrno"] = evrno; 
     } 
     string EvrakNu = EVRAKNO + Convert.ToString(evrno); 
     txt_EvrakNo.Text = EvrakNu; 
    } 

更好的方法來做到。

謝謝 快樂編碼。

+0

@ emre-aslan:我建議你嘗試優化的編碼方式。 –

相關問題