2016-11-15 2 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

решение Woring:

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. Это событие запускается каждый раз, когда появляется сообщение.

Добавить в скрытом странице

<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». он не увеличит значение на странице submit –

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

Лучше подход делать.

Thanks Счастливое кодирование.

+0

@ emre-aslan: Я рекомендую вам попробовать оптимизированный способ кодирования. –