用户控件中的DataList中的ItemTemplate事件的小问题?

chai2012 2009-04-15 11:44:10

页面提示错误:
回发或回调参数无效。在配置中使用 <pages enableEventValidation= "true "/> 或在页面中使用 <%@ Page EnableEventValidation= "true " %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。

加入了EnableEventValidation= "true "后,则事件无法发生

这是aspx代码:
<asp:DataList ID="DLRoomtype" runat="server" RepeatDirection="Horizontal" RepeatColumns="17" OnItemCommand="DLRoomtype_SelectedIndexChanged" DataKeyField="RoomID">
<ItemTemplate >
<div>
<asp:ImageButton ID="imgbtnState" runat="server" ImageUrl='<%# GetRoomStateImageUrlByState( Eval("State").ToString() ) %>' CommandName="modify" /></div>
<div><asp:Label ID="lblRoomNumber" runat="server" Text='<%# Eval("Number") %>'></asp:Label></div>
</ItemTemplate >

</asp:DataList>
这是aspx.cs代码:
protected void DLRoomtype_SelectedIndexChanged(object source, DataListCommandEventArgs e)
{
int n = e.Item.ItemIndex;
DLRoomtype.Items[n].BackColor = System.Drawing.Color.Red;
int key = Convert.ToInt32(this.DLRoomtype.DataKeys[n]);
Session["key"] = key;
}
...全文
70 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
云想慕尘 2009-04-16
  • 打赏
  • 举报
回复
来晚喽
chai2012 2009-04-16
  • 打赏
  • 举报
回复
自己解决:
把 Page_Load事件中绑定数据事件加个IsPostBack判断就可以了

Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack)
{
//绑定数据;
}
}

62,268

社区成员

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

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

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

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