Ich habe einen UserController und eine Edit.aspx. Es gibt ein Feld, das mein Primärschlüssel ist, also möchte ich Benutzern nicht erlauben, dieses Feld zu bearbeiten.asp.net-mvc/linq to sql - brauche ich immer eine HTML.TextBox um eine Edit Save zu machen?
Das Problem ist, dass wenn ich die
<%= Html.TextBox("Email", Model.Email) %>
dann
entfernen, wenn die asp.net-mvc magischen Codes meines Controller ruft:[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, tblMailingList user_)
{
try
{
repo.UpdateUser(user_);
return RedirectToAction("Index");
}
catch
{
return View();
das E-Mail-Feld des tblMailingList null ist. Das Problem ist, dass ich dies als Nachschlagen in der Tabelle brauche, um den aktuellen Datensatz abzurufen, und natürlich, wenn es null ist, bekomme ich eine Ausnahme.
Wenn ich die Textbox für dieses Feld zurücksetze, funktioniert es gut. Es scheint verrückt zu sein, dass ich eine Textbox haben müsste und das Bearbeiten erlauben würde, dieses Feld an den Controller zu übergeben. Ich habe versucht, es in ein Etikett zu setzen, und es zeigt sich immer noch als Null im Controller.
irgendwelche Vorschläge?