我面临与此处提到的相同的问题。
在 GridView 中使用 ButtonField 并将 ButtonType 设置为“图像”时,单击它会生成 2 个 http 帖子。对于这些一次点击多次回传,回传的值第一次为“假”,第二次为“真”。如果按钮类型是链接或简单按钮,则行为正常。
<asp:ButtonField ButtonType="Image" Text="Delete" CommandName="Delete"
CausesValidation="false" ImageUrl="../images/Delete.gif" ></asp:ButtonField>
Microsoft 表示这是一个已知问题,尚未修复,解决此问题的方法是使用模板字段,这在大多数情况下是一个很好的解决方案,但对于我的情况,我不能使用模板字段并且按钮必须是图像类型。有没有其他方法可以解决这个问题?
更新:IE6、7、8所有版本都有同样的问题。如果有一些解决方法,请发布。
Update2:'Request.HttpMethod' 的值始终为 'POST',即使两个回发具有不同的 IsPostback 值。检查这一点可能是一种可能的解决方法,但必须在每个页面上完成,在上述场景中,网格与 ButtonField 列一起使用。有什么比这个更好的想法吗?