Web-MA ASP.Net MWPSK Embed Resource
Current Version: 1.0.0 relesead on 02/02/2008
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
The GNU license to which this software is referering is available at:
If you want, you can add a link to www.web-ma.com,
making it easy for others to recognize the author of this script.
Why this extension?
Finding an open source CMS (hence free) written in C# 2.0, which does not need a database to store data is not easy.
On ASP.Net platform, there aren't so much solutions like per Linux platform, and Microsoft guy did a great job when they released the MWPSK.
But like for everything, also in this case something was missing, and so once again here it's my solution based on the work MWPSK team did and stored on
Why use this extension?
To be honest in this case the probles is not something missing in the logic of MWPSK, but the way how themes are managed
in ASP.Net that I don't like it at all.
The themes logic strictly embed all files contained in a certain root path below the App_Themes folder. And this embedding operation is done for all files
contained in the path - independently of the extension - and for every page that use that theme.
All the files will be used in different manner according to the extension, so for a moment imagine that in that path there are just .css files (Cascade Style Sheet).
Before continue, let me explain how the CSS work. Well you could know how it does, but it's better spend some words here also to understand why I decided to implement
this new section.
Standard logic of CSS file says that you can "stylize" HTML tag in different way. Accessing element by ID, style in this case is just for
a specific control, by class, so many controls can benefit by specific style rules.
About name collision, CSS doesn't worry about name clash. This mean that you can declare a class or a control id many times in your style sheet file. In all case
the rule that take part is always the last one read.
Transporting this argument to the above ASP.Net scenario, since all CSS file will be included in the reference of each web page, this mean that you couldn't have
a main page or a secondary page viewing them by theme side until you wouldn't differentiate and access to secondary (or primary) page tags just for ID
and give attention to use a different HTML ID attribute for each single control.
Synthesizing, this mean that a very complex HTML layout that need to make this difference will result in a very complex CSS design that often mean repeat tons
of CSS code (that obviously will be downloaded on the client side too downgrading - in some case - also the performance).
Not a nice scenario, huh?
If you agree with me, here there is the solution for Microsoft My Web Page Starter Kit.
The section simply read a list of the files that are in the folder, propose them in a list from which you can choose one. Finally press the save button to
embed the resource. (To embed more than one resource, simply add more than one section).
Just to make another example: imagine a crypto jascript routine used to mask e-mail address in the contact page. Do you need it in all page or just in one?
Obviously for .js files, if they are callable routine, you have to make an html call too, but this can be done using standard HTML control provided
with MWPSK, but this is outside the scope of this instruction page.
How to use this module?
To implement this module, differently for the SEO Extension,
you don't know how to program in ASP.Net.
What you have to do is just copy some files into the appropriate folder, append a bunch of lines into the resource file, and open http
location of your MWPSK personal copy. That's all.
Have a look together how to paste the files contained in the zip downloadable at the end of the page (Please note that a txt file wihtin
the current instruction is provided also into the zip file).
- Copy the EmbedResource.ascx and EmbedResource.ascx.cs into the ~/SectionControls;
- Copy the EmbedResource.cs file into the ~/App_Code/Sections;
- Append the content of the StringRes.resx.txt file to the StringRes.resx file in the ~/App_GlobalResources and eventually to any other file you need
- Enjoy the EmbedResource section.
For your best convenience I've provided a zip file with the MWPSK Embed Resource
developed on the 1.1.4 version.
Back to Open Source Utility list.