2

拡張子のない URL で umbraco を使用しています。マスターページ (en/test) の 1 つに単純な HTML を挿入しました。

<form method="post" enctype="multipart/form-data">
  <input type="submit" />
</form>

送信ボタンを押すと、404 が表示されます。パスはまったく同じで、存在するはずです。enctype 部分を削除すると、送信は正常に行われます。

これを修正する方法がわかりませんが、書き直しに関係があるに違いありません。

また、成功せずに次のことを試しました:

<form method="post" enctype="multipart/form-data" action="/en/test">
  <input type="submit" />
</form>

<form method="post" enctype="multipart/form-data" action="/en/test.aspx">
  <input type="submit" />
</form>

enctype 属性を使用できる唯一のページは、実際のホームページにあります。これは、物理的な default.aspx が存在するという事実に関係していると思います。

=============== 更新 =================

ページには、私が挿入したフォーム要素が 1 つだけあります。したがって、「ページ全体」のフォーム要素は確かに当てはまりません。第二に、はい、フォームは理論的にはそれ自体にポストバックしています。また、空のアクション タグと、提案されている完全な URL を含むアクション タグを試してみましたが、結果は同じでした。

次のシナリオを使用する場合:

  • アクション属性なし
  • アクション=""
  • action="{相対パス}"
  • action="{絶対パス}"

送信元とまったく同じ URL になります。しかし、それは 404 です。アドレス バーで Enter キーを押すと、404 ではなく、同じ URL の元のページに戻ります。

4

1 に答える 1

0

最初の質問は、"/en/test" または "/en/test.aspx" を参照したときに 404 が表示されるかどうかです。フォームがそれ自体にポスト バックするには、action="" などの空のアクションを試すか、現在の URL を action 属性に書き込みます。もう 1 つの質問は、runat="server" 属性を使用して別のフォームをページにラップしていませんか。

サイド ノードでは、4.10 で導入されたバグのため、インストールを少なくとも v4.11.4 にアップグレードすることを強くお勧めします。詳細は下記をご覧ください...

子を非公開にした後にルート ノード (親) を公開しようとすると、YSOD が発生します: http://issues.umbraco.org/issue/U4-1491

パス修正 http://our.umbraco.org/projects/developer-tools/path-fixup

于 2013-03-01T07:40:11.387 に答える