我有一個編輯窗體,並且在保存結果時遇到問題。編輯操作中的可爲空值
檢視:
<div class="editor-label">
@Html.LabelFor(model => model.LoginModel.Uzytkownik)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.LoginModel.Uzytkownik)
@Html.ValidationMessageFor(model => model.LoginModel.Uzytkownik)
</div>
型號:
namespace Restauracja.Models
{
public class pracownikModel
{
public LoginModel LoginModel { get; set; }
public uzytkownikModel uzytkownikModle { get; set; }
public pracownikModel() {
LoginModel = new LoginModel();
uzytkownikModle = new uzytkownikModel();
}
}
public class LoginModel
{
[Required]
public string Uzytkownik { get; set; }
[Required]
public string Haslo { get; set; }
public string Konto { get; set; }
}
public class uzytkownikModel
{
[Required]
public string imie { get; set; }
....
}
}
控制器:
[HttpGet]
public ActionResult Edit(int LoginID)
{
pracownikModel prac = new pracownikModel();
var pr = (from p in baza.Logowanies where LoginID == p.LoginID select p).First();
prac.LoginModel.Uzytkownik = pr.Login;
return View(prac);
}
[HttpPost]
public ActionResult Edit(int LoginID, pracownikModel prac)
{
var xxx = (from z in baza.Logowanies where LoginID == z.LoginID select z).Single();
xxx.Login = prac.LoginModel.Uzytkownik;
baza.SubmitChanges();
return RedirectToAction("Index", "Foo");
}
功能的[HTTPGET]工作正常,示出了從數據庫的結果。問題是與第二個功能...普拉克是空的...所以這不能工作,因爲我不能寫空數據庫。我不知道如何解決這個問題。
使用特殊字符函數/變量名是一個可怕的想法 – matino
如果你使用會發生什麼:''爲POST方法公衆的ActionResult編輯(pracownikModel PRAC)?刪除LoginID。 –
我同意@matino。嘗試將特殊字符改爲類似的東西。這可能是你的問題的根源。除此之外,LoginID的目的是什麼。您不會將其存儲在視圖的隱藏字段中,並且它將返回爲空。嘗試刪除,如果你不需要它在基於HttpPost的行動。 –