C# 为什么可以';我不能用服务器表单进行跨页发布吗?

C# 为什么可以';我不能用服务器表单进行跨页发布吗?,c#,asp.net,forms,C#,Asp.net,Forms,我有一个最小的网站(基于VisualStudio模板) 我正试图使用表单的action属性将服务器端表单发布到另一个aspx页面。我一直收到臭名昭著的无效回发或回调参数异常 如果我在我的按钮中使用PostBackUrl属性,我可以让它工作,但是为什么我不能使用action属性将表单提交到其他页面?我不想禁用我的事件验证 下面是我的网站。母版默认值。aspx和联系人。aspx完全为空(使用母版页除外)。所有页面都没有代码隐藏 <%@ Master Language="C#" AutoEven

我有一个最小的网站(基于VisualStudio模板)

我正试图使用表单的
action
属性将服务器端表单发布到另一个aspx页面。我一直收到臭名昭著的
无效回发或回调参数
异常


如果我在我的按钮中使用
PostBackUrl
属性,我可以让它工作,但是为什么我不能使用
action
属性将表单提交到其他页面?我不想禁用我的事件验证

下面是我的
网站。母版
默认值。aspx
联系人。aspx
完全为空(使用母版页除外)。所有页面都没有代码隐藏

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="LauriTest.SiteMaster" %>

<!DOCTYPE html>
<html lang="en">
<head runat="server">
    <title>hello</title>
</head>
<body>
    <form id="form1" runat="server" action="Contact.aspx">
        <asp:TextBox runat="server"/>
        <asp:Button runat="server" />
    </form>
</body>
</html>

你好
尝试添加到您的aspx页面(第一行

第二件事是记住输入页面加载方法

if (!Page.IsPostBack){//doOperation}
更新

尝试为事件验证注册控件

protected override void Render(HtmlTextWriter writer)
{
  ClientScript.RegisterForEventValidation(YourButtonThatCausesSubmit.UniqueID.ToString());
  base.Render(writer);
}
原因

事件验证检查事件的起源是否来自先前加载的一个渲染控件(而不是一些已确认的控件)。在渲染阶段,可以使用_doPostBack在回发期间验证事件。在您的情况下,有东西破坏了此验证,服务器认为回发来自外部对象,可能是某个字符,请在提交表单之前尝试最后一次尝试(repace

var ok= OriginalString.replace("<","&lt;");
ok= ok.replace(">","&gt;");
return ok;
var ok=OriginalString.replace(“,”);
返回ok;
更新2

我从你的代码中看到了母版页代码。您正在插入表单元素。
从母版页继承的页面可能有另一种形式。如果是,这就是错误的原因(不止一个表单)。

我不想禁用我的事件验证。对不起,原来的问题忘了包括在内。正如我所说,我没有任何代码在代码后面,没有,没有帮助<代码>Page.ClientScript.RegisterForEventValidation(test.UniqueID)。另外,我的问题主要是关于“为什么”-如果需要,我可以使用
PostBackUrl
。最后一次尝试,请告诉我谢谢,但我没有发布任何字符串。我甚至不需要在文本框中输入任何内容,我只是将其留空,然后我得到了错误。我已经做了另一个更新,如果它解决了您的问题,请告诉我我试图复制您的场景。当我试图提交到Contact.aspx时,我收到了“验证MAC失败”。我不确定这和你犯的是同一个错误。我所做的所有工作(跨页面发布)都是禁用Contact.aspx页面的MAC-Validation-at-page指令。EnableViewStateMac=“false”不,我没有收到MAC验证错误。我真的从VisualStudio2013模板开始了一个新的asp.net项目,删除了所有的废话,我就这么做了。我甚至重新启动了我的电脑,试图修复这个奇怪的问题,但没有任何帮助。这在某种程度上与母版页设置有关,因为如果没有涉及母版页,我不会得到错误。