2

我正在使用带有无扩展网址的 umbraco。我在我的一个母版页(en/test)中插入了一段简单的 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 属性的唯一页面是在实际主页上。我想这与 physic default.aspx 存在这一事实有关。

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

页面中只有一个表单元素,即我插入的那个。所以一个“整页”的表单元素肯定不是这样的。其次,是的,该表格理论上是回发给自己的。我还尝试了一个空的操作标签,加上一个带有建议的完整 URL 的操作标签,结果相同。

当我使用以下场景时:

  • 无动作属性
  • 动作=""
  • action="{相对路径}"
  • action="{绝对路径}"

我最终得到与我触发提交的 URL 完全相同的 URL。但它是 404。当我在地址栏中按回车键时,没有 404,我回到了具有相同 URL 的原始页面。

4

1 回答 1

0

我应该问的第一个问题是,当您浏览到“/en/test”或“/en/test.aspx”时,您会得到 404。要让表单回发给自己,请尝试空操作,例如 action="" 或将当前 url 写入操作属性。还有一个问题,你的页面周围是否有另一种带有 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 回答