我有一個擁有多個按鈕的頁面。當點擊一個按鈕,一切都很好,但它的回傳和另一個按鈕被點擊之後,它會產生異常:System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.ArgumentException: Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.
這裏的ASPX代碼:使用GridView中的按鈕ASP.net事件驗證錯誤
<asp:GridView ID="gvSafeList" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" AllowPaging="True" AllowSorting="True" OnRowCommand="gvSafeList_RowCommand" PageSize="15">
<Columns>
<asp:BoundField DataField="EmailTo" HeaderText="Account" SortExpression="EmailTo" />
<asp:BoundField DataField="EmailFromName" HeaderText="From" SortExpression="EmailFromName" />
<asp:BoundField DataField="EmailFrom" HeaderText="Senders Email" SortExpression="EmailFrom" />
<asp:BoundField DataField="Subject" HeaderText="Subject" SortExpression="Subject" />
<asp:BoundField DataField="Time_Stamp" HeaderText="Time" SortExpression="Time_Stamp" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="AddButton" runat="server"
CommandName="AddToSafeList"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
Text="Unblock & Restore" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings FirstPageText="First" LastPageText="Last" Mode="NumericFirstLast" NextPageText="Next" PageButtonCount="20" Position="TopAndBottom" PreviousPageText="Previous" />
<PagerStyle Font-Bold="True" Font-Size="15pt" HorizontalAlign="Center" />
</asp:GridView>
這裏是我的C#代碼:
protected void gvSafeList_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
//Do some database stuff...
if (e.CommandName == "AddToSafeList")
{
//More stuff
Response.Redirect("~/Spam",false);
lblResults.Text = "Successfully updated. Emails from this recipient will be delivered to your inbox within the next 5 minutes.";
}
}
catch (Exception ex)
{
LogIt(ex.ToString());
}
}
我一直卡在這一段時間,並設置event validation = false
似乎對我來說太危險了。
謝謝:)我要等24小時才能關閉它,但我無法生成錯誤。它可能已經修復它:) – DigitalRayne