You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Response.Redirect跳转失效问题求助

解决回发验证错误的方案

首先先修正你代码里的一个小拼写错误:EventeArgs应该改成EventArgs,这个会导致编译问题,先处理掉。

接下来看你遇到的“Invalid postback or callback argument”错误,这个通常是ASP.NET的事件验证机制在起作用——它会检查回发时的控件值是否是服务器端之前生成的合法值,不匹配就会抛出这个错误。结合你的情况,我给你几个针对性的解决办法:

方法一:确保下拉框选项仅在首次加载时生成(推荐)

如果你的myselect下拉框是动态绑定/添加选项的,一定要把绑定逻辑放在!IsPostBack判断里,这样回发时不会重新生成选项,视图状态里的选项和用户选择的就能对应上:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 这里写你绑定myselect的代码,比如从数据源加载选项
        // 示例:
        // myselect.DataSource = yourDataSource;
        // myselect.DataTextField = "TextColumn";
        // myselect.DataValueField = "ValueColumn";
        // myselect.DataBind();
    }
}

方法二:关闭事件验证(谨慎使用)

如果你的场景确实需要在回发时动态修改下拉框选项,或者暂时不想处理视图状态的问题,可以在页面的Page指令里关闭事件验证。不过要注意,这个操作会降低页面的安全性,可能被恶意利用,所以优先用方法一。

在你的.aspx页面顶部的Page标签里添加EnableEventValidation="false":

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="YourPage.aspx.cs" Inherits="YourNamespace.YourPage" EnableEventValidation="false" %>

补充检查

再确认一下你的Response.Redirect参数:myselect.SelectedValue.ToString()是否是一个合法的URL(比如相对路径或者完整URL),虽然断点看到有值,但如果值格式不对也可能有问题,但当前的错误提示还是指向回发验证,所以先优先处理上面的方法。

内容的提问来源于stack exchange,提问作者jorgehvieirasilva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:57:25