0
我的模型有一些字段不會在視圖中顯示(如Id字段)。asp.net中的隱藏字段mvc
所以,當我發佈表單時,這些字段返回「null」值,除非我在表單中插入隱藏字段。
還有另一種更新模型,只使用表單中的字段?
我的實際代碼:
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(Profissao model)
{
if (ModelState.IsValid)
{
using (var escopo = Db.Database.BeginTransaction())
{
try
{
if (model.Id == 0)
Db.Profissoes.Add(model);
else
Db.Profissoes.Update(model);
Db.SaveChanges();
escopo.Commit();
return RedirectToAction("Index");
}
catch (Exception)
{
escopo.Rollback();
}
}
}
return View(model);
}
財產以後你能重建他們的服務器端?重新從數據庫中檢索,保持會話,...? – Maarten
你應該使用ViewModels,否則你將不得不暴露你的數據庫實體結構的權利,以查看隱藏字段,ViewData和其他潛在危險的結構。您應該使用此ViewModel將用戶所做的更改映射到您的數據庫實體。 –
有多種方法可將客戶端發送的數據與所需實體相關聯。問題是,爲什麼不依靠'Id'?它通常是最簡單和最安全的賭注... – haim770