I aked my question a few days ago on stack overflow but I'am not lucky with the one answer. Perhaps, someone can help me here.
My first controller method is:
public ActionResult Item()
In this method, I have some business logic like retrieve the user id with sql or watch out if a user has the permission to see some regions on the view or whatever.
I used bool variables in my viewbag and get these data with razor.
It's only one case..
Now, the user is going to fill data in a form, will make a post and then I call the same method, but with a [HttpPost()] flag (I saw it in many tutorials).
public ActionResult Item(FormCollection formCollection)
Ok, now I can collect the values out of the form and can work with them.
BUT if this function is ready, it gives as standard View() back and I can't made the business logic like in the Get() method or must I really copy/pase all these stuff or get it in a own function and call it two times?
Here is a link to my stack overflow question, perhaps you unterstand me better with that:
It seems that what you described as "some business logic" is some common processing that you want to fire in both GET and POST methods. In that case you can refactor it as separate method.
If that logic is valid only inside that one controller you can make private method that is called by both Item() methods - private controller methods are not mapped to MVC actions.
If it is more application wide you can also consider refactoring it out to some helper class.
BTW - copy/paste should be banned in any development environment
"My software never has bugs. It just develops random features."
Last Visit: 31-Dec-99 19:00 Last Update: 18-Apr-15 13:43