Implementing Mobile ASPX - Tegratecs Code Package
v2 within your project
(Show Expanded Details...)
Version 2 of this product has been completely reorganized. All of the main worker processes have been consolidated into the equivalent of the AppCode level classes, so in the end it should be compatible with web sites and web application project types of any language, including 3rd party languages.
There are 3 stand-alone implementation examples included in the product and each is based on a different (or slightly different) master page strategy. The 4th implementation example is all-inclusive.
All of the examples are written in c# and use the ASP.NET Web Application (.NET Framework) project template provided in Visual Studio 2022 (so Visual Studio 2022 Community, Professional or Enterprise editions). However, we are pretty confident the examples are compatible with most previous Visual Studio versions with perhaps just a little syntax rework. A little more on that later...
Version 2.1 also features further soft-coding of site level constants. Version 2.2 features use of (what we consider as) app state level properties in the Codebase, thus eliminating the dependency on web.config in the key components of the product (easier for use with MVC and other architectures). However, the implemented example uses global.asax and web.config and takes advantage of the value of web.config handling built into the ASP.NET Framework. New biggie with the release of Version 2.2 is a subscription offering.
The first two implementation examples do not use CSS3 media queries or CSS or script from a responsive library or framework. The drop-down menu (contained in the master page .aspx) from Implementation Example 1 uses a right side collapsible menu icon in the upper right hand corner. Implementation Example 2 uses a left side icon. The menu CSS comes from 2008-2012 Live Web Initiatives, http://www.lwis.net and is distributed under a GPL, even though we have made a few enhancements (for example, about 10 or 11 years ago we added a line or two of CSS in order to fix a hover consistency problem in IE 8 desktop browser).
Implementation Example 1
(net differences to stock MS web app project template)
Implementation Example 2 uses a left side collapsible menu icon in the upper left hand corner. The c# master page code-behind in the first two implementation examples is identical except the namespace assignment (FourViewMPRightCMIExp.Master.cs = FourViewMPLeftCMIExp.Master). We have created two separate source code components in this manner in order to facilitate separate examples that can also be combined. Implementation Example 4 includes all three of the implementation examples in one project.
Implementation Example 2
(project component changes)
Implementation Example 3 uses the bootstrap responsive CSS and script included in the base project template provided in Visual Studio. The responsive drop-down header remains the same except that a View drop down has been added. The content pages in Implementation Example 3 do not reference the bootstrap CSS classes, but they deliver the Mobile ASPX four view technique as a better alternative.
Implementation Example 3
(net differences to stock MS web app project template)
Implementation Example 4 includes all 3 of the examples together (not pictured here).
All of Version 2 (product and examples) are included under the Project 8 download, which is c#. We may need to put out a vb.net version for pure vb.net web application implementations but have not yet done so for Version 2... Let us know! The c# version should work fine in the AppCode area of c#, vb.net or 3rd party language sites using the ASP.NET Web Forms Site project model.
Project 9 download is the subscription offering, which is identical with Project 8 except that it includes .dlls instead of source for the key components (in this case, the key components are the ones located in the AppCodeBase folder (shown)). OK well yeah, if you want to get technical, the subscription version has additional code to verify the subscription time frame, but that's it.
With the changes in these examples applied, this will likely handle upwards of 80% of your HTML (not including new client-side scripting or rewrites).
There are also quite a few HTML before and after version examples of how we evolved our HTML itself to be more responsive and to have less hard-coding, i.e. there is a download showing what changes we made for writing a stock (single) version of HTML for most any given page on our websites.. This is in the Project 7 download, Examples for Updating Content Page HTML and CSS (csProject7Examples).
We consider HTML incompatible and in need of soft-coding , if for example, it requires the whole page view to float in order for the user to see all of the information.
When there isn't a good way to get one version of HTML5 to handle all four views (and any existing CSS media queries aren't handling it either), you can get it done via the OO code-behind. One example of this is in clsSharedBaseAndMaster.cs, when the button size is expanded for Mobile and Tablet views at run time. This change is done at the same point in the code-behind that the site-specific color properties are applied to the buttons. Incidentally you can add new color schemes for the buttons without changing any of the code-behind.