近日,在开发过程中遇到一个很头疼的问题:验证视图状态Mac失败。
先开始在webconfig中加入了一个machineKey,问题暂时没有出现。后来又出现了,原来是在LinkButton控件中执行了WebForm_DoPostBackWithOptions事件,即PostBackUrl实现跨页面提交数据造成。<asp:LinkButton runat="server" PostBackUrl="......" />,如果在导航栏中用这种方式实现页面跳转,那么在一个页面有多个PostBackUrl时,当你快速的来回点击导航栏就可能会出现上面的错误。
我自己的解决办法是将LinkButton全部用<a herf="......">来代替LinkButton实现页面的跳转功能。