asp.net mvc 3 - MVC 3 default edit won't work if I remove a field -


i've created default mvc 3 project , created default edit page model. if don't touch it, work fine.

now wanted remove 1 of edit fields on edit page (because don't want primary key editable). changed editfor displayfor. sown correctly then, if want save following error:

dbupdateconcurrencyexception unhandled user code

store update, insert, or delete statement affected unexpected number of rows (0). entities may have been modified or deleted since entities loaded. refresh objectstatemanager entries.

in edit action can see, model class doesn't primary key anymore (it's 0) , update doesn't work.

// post: /weiterleitung/edit/5         [httppost]         public actionresult edit(rufnummern_weiterleitungen rufnummern_weiterleitungen)         {             if (modelstate.isvalid)             {                 db.entry(rufnummern_weiterleitungen).state = entitystate.modified;                 db.savechanges();                 return redirecttoaction("index");             }             return view(rufnummern_weiterleitungen);         }          protected override void dispose(bool disposing)         {             db.dispose();             base.dispose(disposing);         } 

how can avoid error without showing every single field of model edit field?

your post action misses id because displayfor<> doesn't render html control , value therefore not posted controller action. can either pass id action parameter (you need add parameter html.beginform()-call in view , modify edit action accordingly) or can add hiddenfor<>-field contains id. hidden field passed on controller upon postback , should recognized default binding handler creates rufnummern_weiterleitungen instance form values.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -