1

タグに設定actionすると、以下のエラーが発生します。form

ビューステート MAC の検証に失敗しました。このアプリケーションが Web ファームまたはクラスターによってホストされている場合は、構成で同じ validationKey と検証アルゴリズムが指定されていることを確認してください。AutoGenerate はクラスタでは使用できません。

私は次のことを試しました:

  1. web.config でマシン構成キーを設定します。
  2. ページで EnableViewStateMac="false" を設定します
  3. ViewStateEncryptionMode="Never" を設定します
  4. EnableEventValidation="false" を設定します

しかし運がない。

任意のガイダンスをお願いします。

あなたの助けと共有に感謝します。

編集:

これが私のページのマークアップです。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
EnableViewStateMac="false" ViewStateEncryptionMode="Never" EnableEventValidation="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="aspnetForm" method="post" action="Test.aspx" runat="server">
    <div>
        <asp:TextBox runat="server" ID="txt1"></asp:TextBox><br />
        <asp:TextBox runat="server" ID="txt2"></asp:TextBox><br />
        <asp:Button runat="server" ID="btn" Text="Click" />
    </div>
    </form>
</body>
</html>
4

4 に答える 4

4

フォームタグとボタンのマークアップを変更すると、クロスページ投稿を実現できます。

手順:

  • フォームから「アクション」を削除
  • ボタンに「PostbackUrl」を追加

================================================== =======

MSDN: ASP.NET でのクロスページ投稿

概要: http://msdn.microsoft.com/en-us/library/ms178139(v=vs.100).aspx

ハウツー: http://msdn.microsoft.com/en-us/library/ms178140(v=vs.100).aspx

================================================== =======

<form id="aspnetForm" method="post" runat="server">
<div>
    <asp:TextBox runat="server" ID="txt1"></asp:TextBox><br />
    <asp:TextBox runat="server" ID="txt2"></asp:TextBox><br />
    <asp:Button runat="server" ID="btn" Text="Click" PostBackUrl="~/Test.aspx" />
</div>
</form>

于 2012-10-11T04:27:05.153 に答える
1

このエラーは、POST 要求の一部として送信された ViewState がコントロール コレクションと一致しない場合に発生します。

ご依頼受付ページはTest.aspx

オン EnableViewStateMac="false"にするTest.aspxと、問題が解決するはずです。

于 2012-10-10T03:39:25.807 に答える
1

「Test.Aspx」に以下のタグを追加してから、もう一度やり直してください

EnableViewStateMac="false" ViewStateEncryptionMode="Never" EnableEventValidation="false"

于 2012-10-10T03:38:39.147 に答える