An example of default form values on a search form might be:Start Date - TodayEnd Date   - The last day of the next monthObviously, these are fairly simple examples, but default values can get a lot more complex and potentially rely on real business logic (from an entity).A search form is a good example because it does not have a corresponding entity.So what is a good way to encapsulate complex default value logic? Perhaps the view model? Maybe create a new business object? Or should it just go in the view/controller responsible for rendering the form?This is an ASP.NET Webforms application and my particular problem is where to put the logic to decide how the feed back regarding an event is categorized.  
Architecture: Are form default values considered business logic and where should the logic to calculate them be placed?
design patterns;architecture
StartDate and EndDate of what?.... the school year? Ok:public class SchoolYear {     StartDate = DateTime.Now;     EndDate = new DateTime (2016, 6, 23);}Object Oriented Programming is about, well, objects: Put properties in a class to appropriately describe/define what it is. Write methods against those properties to describe/define what it does.As for complex default logic. Complex or default notwithstanding, put the logic with the properties it goes with, hence both in an appropriate class. If complexity means a need for different class/objects to interact, OK, but each class/object is responsible for doing it's own thing. A School Year certainly will not have the teaching staff defined in it, however a Teacher may well have his/her Calendar initialized with the SchoolYear.StartDate.