如何处理用户控件事件
How to handle UserControl events
我有一个用户控件,其中包含 3 个空的分钟文本框,分别名为 txtMorningMinutes、txtAfternoonMinutes 和 txtCapacityMinutes。此 UserControl 在 Webform 中重复 2 次作为星期六和星期日,在 UserControl 外部和 Webform 内部具有保存按钮。
现在有一个条件,即用户输入的值应小于 txtCapacityMinutes 的值,该值来自数据库。假设 txtCapacityMinutes 的值为 60。
现在,用户在名为 txtMorningMinutes 的文本框中输入 10 in Saturday morning 并保存数据。它将被持久化到数据库中。
现在用户在名为 txtMorningMinutes 的星期六早上输入 70 并尝试保存数据。在保存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 事件中应用条件。
当用户聚焦文本框时,您可以在相关变量被操作之前保存一份副本。当用户单击保存按钮时,您可以执行检查并在需要时回滚到保存的变量值。
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)
}
}
我有一个用户控件,其中包含 3 个空的分钟文本框,分别名为 txtMorningMinutes、txtAfternoonMinutes 和 txtCapacityMinutes。此 UserControl 在 Webform 中重复 2 次作为星期六和星期日,在 UserControl 外部和 Webform 内部具有保存按钮。
现在有一个条件,即用户输入的值应小于 txtCapacityMinutes 的值,该值来自数据库。假设 txtCapacityMinutes 的值为 60。
现在,用户在名为 txtMorningMinutes 的文本框中输入 10 in Saturday morning 并保存数据。它将被持久化到数据库中。
现在用户在名为 txtMorningMinutes 的星期六早上输入 70 并尝试保存数据。在保存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 事件中应用条件。
当用户聚焦文本框时,您可以在相关变量被操作之前保存一份副本。当用户单击保存按钮时,您可以执行检查并在需要时回滚到保存的变量值。
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)
}
}