2016-11-15 46 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:我建议你尝试优化的编码方式。 –

相关问题