C# 添加HttpPost获取错误';找不到资源';在MVC中

C# 添加HttpPost获取错误';找不到资源';在MVC中,c#,html,asp.net-mvc,model-view-controller,C#,Html,Asp.net Mvc,Model View Controller,我发现了错误 “/”应用程序中出现服务器错误 找不到资源 描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确 请求的URL:/ClientEdit/ClientEdit/1104 版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.272 将HttpPost属性添加到控制器时。我已经研究过这个问题,并用张贴的(没有双关语的意思)答案更正了我的代码,但我

我发现了错误 “/”应用程序中出现服务器错误

找不到资源

描述:HTTP404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确

请求的URL:/ClientEdit/ClientEdit/1104

版本信息:Microsoft.NET Framework版本:4.0.30319;ASP.NET版本:4.0.30319.272

将HttpPost属性添加到控制器时。我已经研究过这个问题,并用张贴的(没有双关语的意思)答案更正了我的代码,但我尝试过的任何东西都不管用。这是我的控制器标题:

[HttpPost]
public ActionResult ClientEdit(int id,FormCollection formCollection)
我添加了HttpPost,以便填充FormCollection对象。与其他SO帖子一样,这会导致错误。删除它可以解决问题,但我的FormCollection不会填充任何键/值对

我的视图将其表单标签的方法设置为POST,这解决了其他开发人员的问题,但没有解决我的问题。我尝试将'name='属性添加到我的textbox控件以及'id='中,但这也不起作用

<body>

<form method="post" action="1104" id="form1">


我不知道还能尝试什么

您还需要提供呈现
的视图。在我看来,显示为HTML的
操作
是错误的。我认为这可能类似于
action=“/Controller/ClientEdit”
您在属性action=“1104”中给出了错误的值

您可以指定适当的route-in-action属性,如果路由与get相同,则可以保留该属性

如果GET和POST路线相同,则此操作应该有效

<form method="post"  id="form1">
.....
</form>

.....
使用以下方法:

@using(Html.BeginForm()){
<!--Your form field-->
}
@使用(Html.BeginForm()){
}
基本上,您的action属性只是指向您拥有的Id,而不是要发布到的url

您可以这样手动执行:

<form action="ClientEdit/ClientEdit/1104>
<!--form fields-->
</form>

是的,你们都是对的。我正在传递一个用户ID作为操作。这是为另一个特性“工作”但不符合MVC模式的遗留代码。我做了一些其他的研究(因为我也不太熟悉MVC),然后重新开始使用MVC。谢谢大家

@Charls point是有效的,只是贴错了位置。请编辑您的问题以包含您收到的实际异常。