2013-05-14 105 views
0

我在'/'應用程序中收到錯誤 服務器錯誤。添加HttpPost在MVC中出現'資源無法找到'錯誤

無法找到該資源。

說明:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。

請求的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"> 

我不知道還有什麼要嘗試。

+0

@Charls點是有效的,只是張貼在錯誤的地方。請修改您的問題以包含您收到的實際例外。 –

回答

0

您需要爲您提供呈現<form>的視圖。你所顯示的你的HTML的action看起來對我來說不對。我想這應該是action="/Controller/ClientEdit"

0

您在屬性action =「1104」中給出了錯誤的值。

要麼你可以指定正確的路線在行動屬性或離開它,如果路線是一樣的get。

這應該工作,如果GET和POST路線相同

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

使用本:

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

基本上正在發生的事情是,你的action屬性只是指向ID您有不要發佈的網址。

您可以手動像這樣做:

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

是的,你是正確的。我正在通過一個用戶名作爲動作。這是傳統的代碼,它爲另一個功能「工作」,但不符合MVC模式。我做了一些其他的研究(因爲我對MVC也不太熟悉),並且使用MVC從頭開始,因爲它應該是。感謝大家。

相關問題