0

「/」アプリケーションでエラー サーバー エラーが発生しています。

リソースが見つかりません。

説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の 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)

FormCollection オブジェクトを設定できるように HttpPost を追加しました。他の SO 投稿と同様に、これによりエラーが発生します。それを削除すると問題は解決しますが、私の FormCollection にはキーと値のペアが入力されません。

私のビューには、他の開発者の問題を解決した POST に設定されたフォームタグのメソッドがありますが、私のものは解決しません。テキスト ボックス コントロールに 'name=' プロパティと 'id=' を追加しようとしましたが、どちらも機能しません。

<body>

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

他に何を試すべきかわかりません。

4

4 に答える 4

0

これを使って:

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

基本的に何が起こっているかというと、アクション属性は、投稿先の URL ではなく、持っている ID を指しているだけです。

次のように手動で行うことができます。

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

はい、あなたはすべて正しいです。アクションとしてユーザーIDを渡していました。これは、別の機能で「機能」した従来のコードでしたが、MVC パターンには準拠していません。私は他の調査を行い(MVCにもあまり慣れていないため)、MVCを使用して最初からやり直しました。みんな、ありがとう。

于 2013-05-16T14:00:09.673 に答える
0

属性 action="1104" に間違った値を指定しました。

アクション属性で適切なルートを指定するか、ルートが get と同じ場合はそのままにしておくことができます。

これは、GET と POST ルートが同じ場合に機能するはずです

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

もレンダリングするビューを提供する必要があります<form>。HTMLとして表示するものはaction、私には間違っているように見えます。のようなものになると思いますaction="/Controller/ClientEdit"

于 2013-05-14T19:22:19.260 に答える