У меня есть несколько входов на моей странице. Я хотел бы сохранить изменения в модели при размытии ввода, так как я изменяю значение каждого входа, которое он получает обратно на сервер, например, контакты Google.Редактирование полей формы через ajax и .net mvc
<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
и т. Д., Который кажется неправильным. Я хочу, чтобы этот метод мог обрабатывать каждое свойство модели.
Что такое лучший способ структурирования контроллера вместо написания нескольких методов для каждого отдельного поля?
'Что такое хороший способ достичь того, что я хочу делать?' -> что вы хотите сделать? –
Сохраните значение. Я не хочу писать метод для каждого поля. – Terry
Ваш вопрос, похоже, больше связан с технологией доступа к базе данных, которую вы используете (EF, я думаю), и jQuery, чем ASP.NET MVC. Пожалуйста, отметьте свой вопрос соответствующим образом. Я не вижу, что это вообще связано с ASP.NET MVC. –