我想在页面刷新时增加价值。我该怎么办?
我的代码:
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 :(得分: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;
}
更好的方法。
由于 快乐的编码。
答案 1 :(得分: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;
}
答案 2 :(得分:0)
每次在Page_Load
中初始化变量时,您的代码都会给您相同的值。每次发回邮件时都会触发此事件。
向页面添加hiddenField
<asp:HiddenField runat="server" id="hdnValue">
在Page_Load中执行此操作而不是分配值:
int evrno = Convert.ToString((hdnValue.Value == ""? "0" : hdnValue.Value));
答案 3 :(得分: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;
}
答案 4 :(得分: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);
}