2016-05-25 5 views
-2

私は以下のように私のモデルで定義されたプロパティがあります。モデルプロパティにHtml.EditorForを使用して既存の値をクリアし、mvcでユーザーが入力した新しい値を使用する方法?

public decimal? Amount { get; set; } 

を私は「金額」と名付けられ、私のテーブルの列を持っており、それは金額の列の値を持つことができます。

次に、Amountカラムのエディタが必要なビューがあります。私は、ビューがレンダリングされるとき、空であることを、エディタエリアを望む、

@Html.Editor("Amount", new { htmlAttributes = new { @class = "form-control" } }) 

私の問題はあるが、それは、データベースから値を取得し、私のエディタのフィールドに代入されます。私は、それは以下のように定義されています。

エディタフィールドにデータ(金額)の値を入力してから、送信ボタンをクリックすると、新しい入力データがコントローラに渡され、データベースの金額列が上書きされます。ユーザーが入力した新しい値。

私のボタンは、以下のように定義されます。

@Html.ActionLink("Submit", "EnterAmount", new { id = Model.ItemID, amount = Model.Amount }, new { @class = "btn btn-primary" }) 

私は私のコードのセットアップを実行すると、私の編集者フィールドが空ではない、それは事前にデータベースにすでにあるデータで満たされています。それは必要無い。エディタフィールドを空にします。

2番目 - 事前に入力した金額をクリアして新しい金額を入力した後、[送信]ボタンをクリックすると、新しく入力されたデータは使用されず、以前の同じデータが使用されます。

どうすればこの問題を解決できますか?

ありがとうございます!例えば

@Html.Editor 

+0

'@ Html.ActionLink()'かみそりのコードであり、そのて送信する前に、サーバー上で評価されますビューに。 'new {id = Model.ItemID、amount = Model.Amount}'は、あなたが編集したものではなく、モデルの元の値に基づいてルート/クエリ文字列の値を設定します。フォームが必要で、 '[HttpPost]'でマークされたメソッドにフォームを投稿してください。 (リンクはデータを取得するためのものであり、データを変更するメソッドを呼び出すために使用すべきではありません) –

答えて

関連する問題