我有一个基于某些逻辑的 ASP.NET 复选框,我需要将其checked
值设置为true
服务器端。这很容易,但它MyCheckBox_CheckedChanged(object sender, EventArgs e)
也会触发连线事件。
该事件的代码是 100% 可以的,只要在用户选中客户端的复选框时调用它。但是,当我只是试图将该复选框设置为Checked = true;
服务器端时,我不希望事件中的代码运行。
我想解决这个问题的最干净的方法是检查sender
事件上的对象,看看这个事件是否真的被客户端调用(比如:http: //msdn.microsoft.com/en-us/library/aa457091 .aspx)。然而,这并没有产生任何区别信息。它看起来仍然像被选中的复选框调用它。
我的第二个想法是设置一些会话值并检查它是否基本上return
没有被用户调用。我可以轻松做到这一点,但除非绝对必要,否则我不喜欢使用各种“公共标志”。我宁愿(如果可能的话)检查该事件的sender
orarguments
以确定该属性是否在从数据库重新加载数据时设置在服务器端,或者用户是否实际选择了它。
我看到了这个防止服务器端属性更改的回发,它不是我问题的直接解决方案,而是一种不适用于我的情况的解决方法。
有没有办法确定这是仅在服务器端设置的,以便我可以绕过运行此代码?