C# GET上不允许获取405方法
单击my webapp中的以下链接可生成405:C# GET上不允许获取405方法,c#,.net,asp.net-mvc,asp.net-mvc-2,iis-7.5,C#,.net,Asp.net Mvc,Asp.net Mvc 2,Iis 7.5,单击my webapp中的以下链接可生成405: <a href="/unsubscribe/confirm?emailUid=<%= ViewData["emailUid"] %>&hash=<%= ViewData["hash"] %>" class="button">Yes, unsubscribe me.</a> 简单的东西。当我F5它时,它工作,但当我在IIS(7.5和6)中托管它时,我得到了错误 我对这个很迷茫。我已经搜遍了网
<a href="/unsubscribe/confirm?emailUid=<%= ViewData["emailUid"] %>&hash=<%= ViewData["hash"] %>" class="button">Yes, unsubscribe me.</a>
简单的东西。当我F5它时,它工作,但当我在IIS(7.5和6)中托管它时,我得到了错误
我对这个很迷茫。我已经搜遍了网络,但似乎找不到任何原因来解释为什么会发生这种情况 锚中实际呈现的HTML href是什么?生成的URI有效吗 将其更改为此选项是否有效:
<%= Html.ActionLink("Yes, unsubscribe me.", "Confirm", "Unsubscribe", new { emailUid= ViewData["emailUid"], hash = ViewData["hash"]})%>
锚中实际呈现的HTML href是什么?生成的URI有效吗 将其更改为此选项是否有效:
<%= Html.ActionLink("Yes, unsubscribe me.", "Confirm", "Unsubscribe", new { emailUid= ViewData["emailUid"], hash = ViewData["hash"]})%>
确保输出的URL有效,并正确转义任何无效字符,例如,确保将
&
转义为&代码>确保输出的URL有效,并正确转义任何无效字符,例如,确保将&
转义为&代码>
<%= Html.ActionLink(
"Yes, unsubscribe me.",
"Confirm",
"Unsubscribe",
new { emailUid = ViewData["emailUid"], hash = ViewData["hash"] },
new { @class = "button" }
) %>
还有查看数据?!请删除此项,以支持强类型视图和视图模型。每次我看到有人使用ViewData
我都觉得有必要这么说。
还有查看数据?!请删除此项,以支持强类型视图和视图模型。每次我看到有人使用ViewData
时,我都觉得有必要这么说。如果您的emailUid
或hash
中有句点,则需要对其进行编码。这不是唯一有问题的角色,但我怀疑这里的情况就是这样。在将这些值连接到URL之前,请在这些值上使用
为什么是405?可能是因为IIS6中没有假定“文件扩展名”的脚本映射。它根本不是一个文件扩展名,但是如果不编码URL中的句点,它就不知道什么更好了。如果您的emailUid
或哈希中有句点,则需要对其进行编码。这不是唯一有问题的角色,但我怀疑这里的情况就是这样。在将这些值连接到URL之前,请在这些值上使用
为什么是405?可能是因为IIS6中没有假定“文件扩展名”的脚本映射。它根本不是一个文件扩展名,但是如果不编码URL中的句点,它就不知道什么更好了。我发现了我的问题。原来是我的IIS配置有问题。在IIS 6中,我不允许在目录中执行脚本,因此我的.svc永远不会为我的服务主机运行。一旦我改变了设置,我就不再收到405错误
非常感谢其他答案。我一定会使用Html助手。我发现了我的问题。原来是我的IIS配置有问题。在IIS 6中,我不允许在目录中执行脚本,因此我的.svc永远不会为我的服务主机运行。一旦我改变了设置,我就不再收到405错误
非常感谢其他答案。我一定会使用Html帮助程序。是否尝试将数据转换为字符串?(字符串)ViewData[“emailUid”]?是否尝试将数据强制转换为字符串?(字符串)ViewData[“emailUid”]?