2つのテキストボックスを持つフォームがあります。ボックスにデータを入力するには、 データベースからデータを取得しています。私のユーザーがサブミットボタン をクリックして2つのテキストボックスの内容が変わらないときは、コード に行きたいです。送信ボタンをクリックしたときにフォームに変更があるかどうかを確認します。
ボックスの内容が変更された時期と変更されない時期はどのようにして判断できますか? 私は私が記憶しているものと何らかの比較をする必要がありますか?
public ActionResult Edit(profile objprofiler)
{
if (ModelState.IsValid)
{
//Go fetch the existing profile from the database
var currentProfile = db.Profiles.FirstOrDefault(p => p.ProfileId == objprofiler.ProfileId);
//Update the database record with the values from your model
currentProfile.City = objprofiler.City;
currentProfile.State = objprofiler.State;
//Commit to the database!
db.SaveChanges();
ViewBag.success = "Your changes have been saved";
return View(profiler);
}
}
私はフィールドが40のフォームがあるとどうなりますか?私は40のフィールドを比較しますか?これを行うにはよりよい解決策が必要です。あなたはそうは思わない? – user2320476
@ user2320476:あなたはここで何を達成しようとしていますか? 40回の比較を行いたい場合は、40回の比較を行う必要があります。オブジェクト自体に比較をカプセル化することができます。そのため、コントローラではその機能を呼び出すコードが1行になります。 ( '.Equals()'をオーバーライドして、おそらく?)私は質問が本当になると思います...この余分なコードはすべて、データベースへの1回の旅行を節約する価値がありますか?その旅行をデータベースに保存することで、実際には何が達成されますか?パフォーマンスが*悪い*の場合、問題は別の場所にある可能性があります。 – David
私が言っていることは、制限されたコードでフォームの変更を判断し、40個のフィールドをifステートメントと比較しない方法がなければならないということです。ありがとう。 – user2320476