4

我们正在使用 asp.net 4.0 并使用 Web 表单进行路由来创建友好的 url。

路由工作正常,只是没有将正确的“操作”值分配给具有多个级别的任何路由的母版页中的表单元素。

例如,使用 .../customer/12345 浏览的路线 ( customer/{customerid} ) 仅在表单的“action”属性中显示 12345。问题在于它不完整并且任何回发都失败并给出错误“不允许用于访问路径的 HTTP 动词 POST”如果我将操作更新为“customer/12345”(使用 Firebug),则回发工作正常。

在使用客户/客户等静态路由时甚至会出错,它只将“客户”而不是“客户/客户”作为表单的操作值。基本上,只将路线的最后一段放入动作属性而不是整个路线。为什么?

关于如何纠正这个问题的任何想法?

4

2 回答 2

2

您可以通过覆盖事件form1.Action = Request.Url.PathAndQuery;]中的表单操作来解决此问题Page_Load

于 2011-07-06T12:10:02.123 回答
0

请参阅此相关主题。它使用Request.RawUrl而不是Request.Url.PathAndQuery接缝来返回相同的值。

于 2014-10-09T14:29:48.837 回答