Я только начал играть с Sencha ExtJS 5 с помощью ASP.NET Web API.Sencha ExtJS 5 с ASP.NET MVC - Сохранить модель через прокси
Одним из основных примеров является создание модели и размещение данных в «прокси».
http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.data.Model-cfg-proxy
Моего ExtJS прокси размещение на ASP.NET Web API, который ожидает NULL значения в столбце Id упорядоченный для вставки в БД, как новый рекорд.
Проблема заключается в том, что функция «создать» ExtJS автоматически генерирует идентификатор строки (например, SessionModel-1) в столбец идентификатора модели.
Я прилагаю скриншот полезной нагрузки для запроса на сохранение.
Ext.define("SessionModel", {
extend: "Ext.data.Model",
fields: [
{ name: 'id', type: 'int' },
{ name: 'title', type: 'string' },
{ name: 'approved', type: 'bool' , defaultValue : false }
],
proxy: {
type: 'rest',
url: '/api/Session'
}
});
var mySession1 = Ext.create("SessionModel", {
title: 'C++',
approved: true,
});
mySession1.save();
Session.cs - Модель определяется:
namespace WebApplication1.Models
{
public class Session
{
public int Id { get; set; }
public string Title { get; set; }
public bool Approved { get; set; }
}
}
SessionController.cs - контроллер POST:
// POST api/Session
[ResponseType(typeof(Session))]
public IHttpActionResult PostSession(Session session)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Sessions.Add(session);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = session.Id }, session);
}
Как я могу остановить ExtJS отuto генерирует id или что является правильным способом использования «save»?
set session.Id = 0 перед проверкой ModelState ... –