2012-03-16 34 views
0

我有以下情况: 我编写了一个aspx app c#,用户在页面中有4个下拉列表,一个文本框和两个按钮(取消,保存)。我需要记住用户在允许他更改任何下拉列表的索引之前保存文本框的任何更改。因此,如果用户更改了文本框的值,他只能选择取消或保存这些更改。如果他试图做其他事情,比如更改下拉列表的索引,我需要取消该事件,并在此之前给他一条消息以保存或取消。如何强制用户保存?

我已经尝试了很多方法,但他们都似乎对我来说是amatours,并给予很多的辅助效果。有没有什么体面的/优雅的方式来做到这一点?

+0

我在下面给出了一个答案,但我真的好奇你想要达到什么目的,因为这有一个难闻的气味;不管业务逻辑是什么,我敢打赌有一个更简单的方法...... – IrishChieftain 2012-03-16 04:00:12

回答

0

为TextBox创建自定义验证器。在DropDownList的SelectedIndexChanged事件处理程序中,检查TextBox的状态并适当地设置验证器的args.IsValid属性 - 如果TextBox的值已更改,您可以通过TextBox的CustomValidator ErrorMessage属性通知用户单击Save。