asp.net文本框改变了事件

时间:2012-02-29 13:45:30

标签: asp.net textbox postback

我正在开发一个Web表单,一个简单的问题导致我停止部署。

更新面板中的表单现在被拆分为2个文本框,每个文本框都附带一个日历扩展程序。

如果每个文本框都没有实现更改的事件方法,那么表单工作正常,但是表单本身实现了第一个日历的文本框更改事件,所选日期反映在第二个文本框中,增加1天。提交表格一切顺利。

如果您要更改第二个日期并提交新搜索,则在回发后第二个文本框/日期将恢复为原始日期和所有后续搜索,同时使用新选择的日期,在回发后该值将还原。

我无法解决这个问题。它必须与控件何时从viewstate等获取其值相关。

文本框中的代码已更改为

protected void txtCheckIn_TextChanged(object sender, EventArgs e)
        {
            DateTime checkIn = DateTime.Now;

            if (DateTime.TryParse(txtCheckIn.Text, out checkIn) && string.IsNullOrEmpty(txtCheckOut.Text))
            {
                txtCheckOut.Text = checkIn.AddDays(1).ToString("dd/MM/yyyy");
                calCheckOut.SelectedDate = checkIn.AddDays(1);
            }
        }

执行后,即使您更改txtCheckOut值并发布表单,搜索也会使用新值和txtCheckOut.Text属性,然后再返回txtCheckIn.Text + 1天。此事件尚未被激活,即使它只是在空文本框中起作用

0 个答案:

没有答案