У меня есть несколько входов на моей странице. Я хотел бы сохранить изменения в модели на входе размытия, чтобы при изменении значения каждого входа он сохранялся обратно на сервер, например контакты Google.
<input id="FirstName" name="FirstName">Jack</input>
Я создаю событие размытия, используя jquery для отправки значения обратно на сервер. Он публикует структуру с именем входа, значением и идентификатором объекта.
$.post(url, { id: "2", key: "FirstName", value: "Jack" }, successFuction);
В моем контроллере у меня есть:
public ActionResult EditField(int id, string key, string value)
Затем я получаю объект, используя EntityFramework с идентификатором. Затем я захотел обновить свойство модели для поля.
var entity = _db.Get(id);
entity[key] = value;
return Content "Success";
Что я, очевидно, не могу сделать! Единственный способ, которым я могу обдумать, - это несколько методов для каждого поля, поэтому EditName
, EditAddress
и т. Д., Что кажется неправильным. Я хочу, чтобы этот метод мог обрабатывать каждое свойство модели.
Какой лучший способ структурировать контроллер вместо написания нескольких методов для каждого отдельного поля?