将4.11.10升级到Umbraco v6.2.5 - 无法为重写的URL设置正确的<form action =“”> </form>

时间:2015-03-12 11:37:58

标签: webforms umbraco umbraco6

我刚刚执行了从4到6的升级(仍在使用WebForms)并且大部分工作都重新开始 - 但是我无法在具有重写的页面上具有usercontrol的页面上正确设置HTML表单操作URL。漂亮的URL就像/ developer-job-in-london-J12345,重写的URL是/jobs/details.aspx?JobRef=J12345。

在v4上,我只是将Request.Page.Form.Action设置为UserControl代码中的Page.Request.RawUrl,在v6中运行相同的代码似乎工作正常 - 但是在HTML输出中,它仍在使用重写URL作为动作(/jobs/details.aspx)。这意味着您将在回发时发送到其他网址,并在您的历史记录中添加新条目。

我可以检查Page.Form.Action,它从控件Page_Load和母版页看起来是正确的(实际上尝试了我能想到的所有事件),但正如我所说,最终的HTML总是不正确的。

v6中有什么变化与此相关吗?有什么我可以做的,以避免在JavaScript中解决这个问题!? :(

如果重要,则新的程序集版本为:1.0.5529.18434。

谢谢!

修改

<add name="JobRewrite" virtualUrl="(.*)-job-J(.+)$" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Jobs/Details.aspx?JobRef=J$2" ignoreCase="true" />

修改2

陌生人和陌生人:这在我的CI服务器上工作正常 - 操作设置正确,但我有一个移动网站,它只是一个WebForms项目,安装了Umbraco,所以我可以使用会员提供商。该网站似乎有相反的问题 - 那里有一个搜索表单,我的CI服务器上有一个空白操作,但在我的开发机器上工作正常。

但是,我现在已经通过这里的帮助解决了这个问题:https://stackoverflow.com/a/15353347/48348 - 事实证明,将项目更改为最新版本的ASP.NET以及处理表单操作时出现问题默认文件。不确定这是否真的与此有关,因为Umbraco应该在这里处理所有事情?嗯...

稍微偏离一点:我很乐意在该网站上使用LESS umbraco,但我也在努力解决这个问题 - 在此问题:https://our.umbraco.org/forum/developers/api-questions/63161-Use-Umbraco-membership-(and-profile)-provider-in-non-Umbraco-ASPNET-web-forms-site

0 个答案:

没有答案