我收到了错误 '/'应用程序中的服务器错误。
无法找到资源。
描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
请求的网址:/ 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">
我不知道还有什么可以尝试的。
答案 0 :(得分:0)
您需要为您提供呈现<form>
的视图。您显示为HTML的action
对我来说是错误的。我认为它会像action="/Controller/ClientEdit"
。
答案 1 :(得分:0)
你在属性action =“1104”中给出了错误的值。
您可以在action属性中指定正确的路线,或者如果路线与get相同,则保留该路线。
如果GET和POST路由相同,这应该有用
<form method="post" id="form1">
.....
</form>
答案 2 :(得分:0)
使用它:
@using(Html.BeginForm()){
<!--Your form field-->
}
基本上发生的事情是你的action属性只是指向你拥有的Id而不是要发布到的url。
你可以像这样手动完成:
<form action="ClientEdit/ClientEdit/1104>
<!--form fields-->
</form>
答案 3 :(得分:0)
是的,你们都是对的。我正在传递一个userid作为动作。这是为另一个功能“工作”的遗留代码,但不符合MVC模式。我做了一些其他的研究(因为我对MVC也不太熟悉)并且从头开始使用MVC应该是这样。感谢大家。