我有一个usercontrol,包含3个空分钟文本框,名为txtMorningMinutes,txtAfternoonMinutes和txtCapacityMinutes。此UserControl在星期六和星期日在Userform控件外部和Webform内部的“保存”按钮的Webform中重复2次。
现在有一个条件是用户应输入一个小于txtCapacityMinutes的值,该值来自数据库。可以说txtCapacityMinutes的值是60。
现在用户在星期六早上输入名为txtMorningMinutes的文本框中的10并保存数据。它将被保存到数据库中。
现在,用户在星期六早上输入了一个名为txtMorningMinutes的文本框,并尝试保存数据。在txtMorningMinutes的OnTextChanged中保存数据之前,我们需要检查新输入的数据是否小于60的txtCapacityMinutes。由于新输入的数据70大于60,我们需要将其恢复为10。
TextChanged事件如下所示
protected void txtMorningMinutes_TextChanged(object sender, EventArgs e)
{
}
我应该在UserControl中保留10的初始值。如果它存储在UserControl的Page_Load事件中,它将重复2次,即,对于Saturday UserControl和Sunday UserControl。所以,我需要知道在哪里存储txtMorningMinutes.Text的前一个值,即10,并在OnTextChanged事件中必要时应用条件。
答案 0 :(得分:1)
当用户聚焦文本框时,您可以在操作之前保存相关变量的副本。当用户单击“保存”按钮时,您可以根据需要执行检查并回滚到保存的变量值。
答案 1 :(得分:-1)
static string previousValue = "";
protected void Page_Load()
{
if(!IsPostBack)
{
previousValue = "5";
}
}
protected void txtMorningMinutes_TextChanged(object sender, EventArgs e)
{
if(Convert.ToInt32(txtMorningMinutes.Text) > Convert.ToInt32(txtCapacityMinutes.Text))
{
txtMorningMinutes.Text = Convert.ToInt32(txtMorningMinutes.Text) - Convert.ToInt32(txtCapacityMinutes.Text)
}
}