0

我在“/”应用程序中收到错误服务器错误。

无法找到该资源。

说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 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=' 属性添加到我的文本框控件以及 'id=' 中,但这也不起作用。

<body>

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

我不知道还能尝试什么。

4

4 回答 4

0

用这个:

@using(Html.BeginForm()){
<!--Your form field-->
}

基本上发生的事情是您的操作属性只是指向您拥有的 Id 而不是要发布到的 url。

您可以像这样手动执行此操作:

<form action="ClientEdit/ClientEdit/1104>
<!--form fields-->
</form>
于 2013-05-14T19:38:52.853 回答
0

您还需要为您提供呈现的视图<form>。在action我看来,您在 HTML 中显示的内容是错误的。我想它会是这样的action="/Controller/ClientEdit"

于 2013-05-14T19:22:19.260 回答
0

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

于 2013-05-16T14:00:09.673 回答
0

您在属性 action="1104" 中给出了错误的值。

您可以在 action 属性中指定正确的路由,或者如果路由与 get 相同,则将其保留。

如果 GET 和 POST 路由相同,这应该可以工作

<form method="post"  id="form1">
.....
</form>
于 2013-05-14T19:29:52.870 回答