为什么我在GridView1_RowCommand事件里使用e.CommandArgument.ToString()会出错说回发或回调参数无效?

xiaoge22275 2006-07-07 01:03:58
回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
--------------------------------------------------------------------------------------
在GridView的模版列里:
<asp:TemplateField HeaderText="操作">
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:Button ID="hehe" CommandName="showData" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"Name") %>' runat="server" Text="按呀按~~" />
</ItemTemplate>
</asp:TemplateField>
在CS里:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if(e.CommandName.Equals("showData")) {
try
{
Response.Write(e.CommandArgument.ToString());
}
catch (Exception err)
{
throw new Exception(err.ToString());
}
}
}
...全文
590 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
greki 2006-07-07
  • 打赏
  • 举报
回复
谢谢了..我刚遇到这问题.还没来得及仔细考虑


原因应该是回掉时如果再绑定一次.回调参数就无效掉了
coley 2006-07-07
  • 打赏
  • 举报
回复
多动手就知道了
xiaoge22275 2006-07-07
  • 打赏
  • 举报
回复
我知道啦!!
把GridView绑定数据那块放进!IsPostBack里~~~就行啦~~
为什么经常都是没人答我的问题,而是我自行解决了?走了弯路,但还是自己动手丰衣足食呀~~
xiaoge22275 2006-07-07
  • 打赏
  • 举报
回复
补充一下:
如果我照提示说的把enableEventValidation的值设为False,就获取不到e.CommandArgument的值.

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧