gridview中的按钮

时间:2009-12-28 13:18:09

标签: asp.net gridview

我在gridview的模板字段中使用了一个按钮。在按钮上单击我想重定向到另一个页面,但它会抛出异常:

  

无效的回发或回调参数。使用配置或<%@ Page EnableEventValidation =“true”%>启用事件验证在一个页面中。出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

问题是ASP.NET无法了解此gridview按钮。你有一个选项(如下所列):

  • 禁用事件验证(不好主意, 因为你失去了一点安全感 成本很低。)

或者看看这个:http://odetocode.com/blogs/scott/archive/2006/03/21/asp-net-event-validation-and-invalid-callback-or-postback-argument-again.aspx

答案 1 :(得分:0)

你可以在RowCreated中,如上一篇文章中所述,注册每个按钮以进行事件验证。另外,如果您定义了commandname和commandargument,我不知道您是否遇到此问题,然后使用Grid的RowCommand事件而不是按钮单击事件来重定向。您不需要模板列;我认为GridButtonColumn也适用于此......

最后,您可以使用Javascript缓解此问题,通过设置window.location ='newurl'来重定向;您可以渲染一个URL,该URL受模板内服务器端的影响。