首先,我收到错误消息
无效的回发或回调参数。使用配置或<%@ Page EnableEventValidation =" true"启用事件验证。 %GT;在一个页面中。出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。
我正在使用转发器在数据库中创建许多事件,每个事件包含EvtName,EvtType,EvtDescription,EvtDate和EvtVote。 EvtVote存储为int,我有一个名为" eventButton"的按钮。每次单击时,EvtVote都应该更新一个。但是,当我单击该按钮时,会出现错误消息。这是创建它的代码。
<asp:Repeater runat="server" ID="repeaterEvent">
<ItemTemplate>
<div class="jumbotron">
<h2><asp:Label ID="lblEventTest" runat="server" Text='<%#Bind("EvtName") %>'></asp:Label></h2>
<h3><asp:Label ID="Label1" runat="server" Text='<%#Bind("EvtType") %>'></asp:Label></h3>
<h4><asp:Label ID="Label3" runat="server" Text='<%#Bind("EvtDate") %>'></asp:Label></h4>
<h4><asp:Label ID="Label2" runat="server" Text='<%#Bind("EvtDescription") %>'></asp:Label></h4>
<h4><asp:Label runat="server">Amount Attending: </asp:Label>
<asp:Label ID="Label4" runat="server" Text='<%#Bind("EvtVote") %>'></asp:Label></h4>
<asp:Button runat="server" ID="eventButton" Text="Attending" class="btn btn-primary" OnClick="EventVote_Click"/>
</div>
</ItemTemplate>
</asp:Repeater>
这是按钮的后端代码。
public void EventVote_Click(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("UPDATE Events SET EvtVote = EvtVote + 1");
loadDatabase(cmd);
}
不确定错误消息是什么,但任何建议都会很棒。
答案 0 :(得分:0)
为了解决这个问题,我添加了代码:
EnableEventValidation="false"
到我的页面指令。它现在看起来像这样:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Events.aspx.cs" Inherits="Website.Events" EnableEventValidation="false"%>