我有一个使用AlgularJS并连接到SQL Server 2008数据库的ASP.NET MVC应用程序。我有这两个表:
MODEL
model_id int IDENTITY(1,1) not null,
model_desc nvarchar(200)
MODEL_SPEC
model_spec_id int IDENTITY(1,1) not null,
model_id int not null,
model_spec_desc nvarchar(200)
在我的应用中,添加新模型时,我在同一页面上有一个规格列表。为了保存规格,我需要先保存模型。将模型记录插入模型表后,如何获取model_id
?
我在.net中的现有功能看起来像这样(显然没有返回model_id
):
public int CreateModel(model mdl)
{
bool result = true;
_context.models.Add(mdl);
result = _context.SaveChanges() > 0;
if (result)
{
return mdl.model_id;
}
else
{
return -1;
}
}
下面是我的Angular函数,用于发布创建模型的请求:
this.addModel = function (mdl) {
var userObj = { "model_id": mdl.model_id, "model_desc": mdl.model_desc }
return $http({
url: '/models/CreateModel/',
method: "POST",
data: userObj
});
};
答案 0 :(得分:0)
您可以从控制器返回包含模型ID的JsonResult。它可能看起来像这样:
public class ModelController : Controller
{
private readonly IModelRepository _modelRepository;
public ModelController(IModelRepository modelRepository)
{
_modelRepository = modelRepository;
}
[HttpPost]
public ActionResult Create(Model mdl)
{
var modelId = _modelRepository.CreateModel(mdl);
return Json(modelId);
}
}
然后,您可以通过执行以下操作来访问角度代码中的结果:
this.addModel(model).then(function(result){
$scope.modelId = result;
})