﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Abstract Coder</title>
    <description>As a web developer, I spend a lot of my time scouring websites, blogs, and forums and submitting support tickets looking for answers to the problems I encounter while building and configuring web applications. I hope to share the knowledge I gain that I can't seem to find anywhere else. I will cover subjects I work with on a daily basis including: VB.Net, ASP.Net, DotNetNuke, and AspDotNetStorefront.</description>
    <link>http://www.abstractcoder.net/Home/tabid/37/BlogId/1/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>steve@abstractcoder.net</managingEditor>
    <webMaster>steve@brillianceweb.com</webMaster>
    <pubDate>Fri, 21 Feb 2014 10:49:49 GMT</pubDate>
    <lastBuildDate>Fri, 21 Feb 2014 10:49:49 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.5.1.19887</generator>
    <item>
      <title>Custom 404 Page Redirects in DotNetNuke with IIS6</title>
      <description>&lt;p&gt;After spending a bit of time searching, I couldn’t find any comprehensive instructions on how to set up custom 404 pages in DotNetNuke. After a bit of trial and error I managed to get it working on my own. &lt;/p&gt;  &lt;p&gt;The first step is to create a new page that you want your users to be redirected to when there is a 404 error.&lt;/p&gt;  &lt;p&gt;The next step is to setup IIS to redirect all urls not handled by DNN to your custom 404 page (basically any url that doesn’t end in .aspx). For this step of this process you will need remote login access to your server. If you don’t have remote login access you might be able to get your hosting company to do this step for you.&lt;/p&gt;  &lt;p&gt;Open IIS, right click on your site and select properties. Then select the Custom Errors tab, click on 404 and then click edit. Set the URL to the URL of your new 404 page. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-3_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="3" border="0" alt="3" src="/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-3_thumb.png" width="481" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The last step configures IIS to redirect 404 errors that DNN handles (.aspx). If you have remote login access you can edit your web.config settings in IIS. If not, you will need to manually edit your web.config with a text editor, which is explained below.&lt;/p&gt;  &lt;p&gt;If using IIS, click on the ASP.net tab and then click Edit Configuration.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-1_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-1_thumb.png" width="484" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Set the Custom error mode to On and then add a new custom error that redirects the 404 error to the 404 error page.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-2_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-2_thumb.png" width="564" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you don’t have access to IIS, make the following changes to your web.config file.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-4_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="4" border="0" alt="4" src="/Portals/0/Blog/Files/1/9/WLW-Custom404PageRedirectsinDotNetNukewithII_C59D-4_thumb.png" width="644" height="92" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now the 404 redirects should be working properly.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;If I made a mistake, left something out, indirectly blew up your server, or if you have any questions or comments please feel free to comment on this post.&lt;/p&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/9/Custom-404-Page-Redirects-in-DotNetNuke-with-IIS6.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/9/Custom-404-Page-Redirects-in-DotNetNuke-with-IIS6.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/9/Custom-404-Page-Redirects-in-DotNetNuke-with-IIS6.aspx</guid>
      <pubDate>Mon, 15 Jun 2009 19:12:59 GMT</pubDate>
      <slash:comments>1106</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=9</trackback:ping>
    </item>
    <item>
      <title>Dynamically Load CSS Files in DNN</title>
      <description>&lt;p&gt;Today I was looking for an easy way to dynamically load a CSS file in a DotNetNuke module. I found &lt;a href="http://forums.asp.net/p/1163249/1929297.aspx#1929297"&gt;this posting&lt;/a&gt; in the ASP.net forums that helped me figure out how to do just that.&lt;/p&gt;  &lt;p&gt;However, after adding the code to my module I started noticing that the CSS file link was being added to the page multiple times. I remedied this by adding a check that would determine if the CSS file I was trying to load had already been added. This addition resulted in the method below.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Private Sub &lt;/span&gt;DynamicallyAddCSS(&lt;span style="color: blue"&gt;ByVal &lt;/span&gt;cssFileName &lt;span style="color: blue"&gt;As String&lt;/span&gt;)
    &lt;span style="color: blue"&gt;Dim &lt;/span&gt;path &lt;span style="color: blue"&gt;As String &lt;/span&gt;= ModulePath + cssFileName
    &lt;span style="color: blue"&gt;Dim &lt;/span&gt;tempLink &lt;span style="color: blue"&gt;As &lt;/span&gt;HtmlLink

    &lt;span style="color: green"&gt;'Check to make sure the file hasn't already been added
    &lt;/span&gt;&lt;span style="color: blue"&gt;For Each &lt;/span&gt;tempControl &lt;span style="color: blue"&gt;As &lt;/span&gt;Control &lt;span style="color: blue"&gt;In &lt;/span&gt;Page.Header.Controls
        &lt;span style="color: blue"&gt;If TypeOf &lt;/span&gt;tempControl &lt;span style="color: blue"&gt;Is &lt;/span&gt;HtmlLink &lt;span style="color: blue"&gt;Then
            &lt;/span&gt;tempLink = &lt;span style="color: blue"&gt;CType&lt;/span&gt;(tempControl, HtmlLink)
            &lt;span style="color: blue"&gt;If &lt;/span&gt;tempLink.Attributes(&lt;span style="color: #a31515"&gt;"href"&lt;/span&gt;).Equals(path) &lt;span style="color: blue"&gt;Then
                Return
            End If
        End If
    Next

    Dim &lt;/span&gt;link &lt;span style="color: blue"&gt;As New &lt;/span&gt;HtmlLink()
    link.Attributes(&lt;span style="color: #a31515"&gt;"href"&lt;/span&gt;) = path
    link.Attributes(&lt;span style="color: #a31515"&gt;"type"&lt;/span&gt;) = &lt;span style="color: #a31515"&gt;"text/css"
    &lt;/span&gt;link.Attributes(&lt;span style="color: #a31515"&gt;"rel"&lt;/span&gt;) = &lt;span style="color: #a31515"&gt;"stylesheet"
    &lt;/span&gt;Page.Header.Controls.Add(link)
&lt;span style="color: blue"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Note that the CSS file name would be “module.css” if the file was stored in the root of the module folder, or “subfolder/module.css” if it was stored in a subfolder underneath the root.&lt;/p&gt;

&lt;p&gt;I’m thinking of using this code in my &lt;a href="http://www.abstractcoder.net/Downloads/tabid/57/Default.aspx"&gt;DNN Twitter Module&lt;/a&gt; to allow multiple CSS files for multiple instances of the module.&lt;/p&gt;

&lt;p style="font-size: 14pt"&gt;Update:&lt;/p&gt;

&lt;p&gt;Thanks to one of &lt;a href="http://www.twitter.com/jbrinkman"&gt;DotNetNukes Corp’s Founders&lt;/a&gt; replying to me on Twitter, I’ve now learned that DNN has built in functionality to dynamically add CSS style sheets to a page.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;CType&lt;/span&gt;(&lt;span style="color: blue"&gt;Me&lt;/span&gt;.Page, CDefault).AddStyleSheet(CSSFilePath, CSSFilePath, &lt;span style="color: blue"&gt;False&lt;/span&gt;)&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;The first parameter is a unique id used to identify the style sheet (which solves the issue of a CSS file getting added to a page multiple times). The second parameter is the relative file path to the CSS file. &lt;/p&gt;

&lt;p style="font-size: 14pt"&gt;Update:&lt;/p&gt;

&lt;p&gt;The third parameter tells the system to put the link at the top of the list. For modules you generally want the CSS at the bottom of the list so it can override system and skin styles. (Thanks to Joe Brinkman)&lt;/p&gt;

&lt;p&gt;As always, if you have any questions or comments feel free to comment or tweet me &lt;a href="http://www.twitter.com/brillsteve"&gt;@brillsteve&lt;/a&gt;.&lt;/p&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/8/Dynamically-Load-CSS-Files-in-DNN.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/8/Dynamically-Load-CSS-Files-in-DNN.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/8/Dynamically-Load-CSS-Files-in-DNN.aspx</guid>
      <pubDate>Tue, 19 May 2009 21:23:16 GMT</pubDate>
      <slash:comments>266</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=8</trackback:ping>
    </item>
    <item>
      <title>Querying the Twitter API in VB.net</title>
      <description>&lt;p&gt;For the last few months I've been an skeptic of the popular micro-blogging service &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt;. After seeing a &lt;a href="http://hackaday.com/2009/05/05/twittering-toilet/"&gt;Twittering toilet&lt;/a&gt;, and a chair that Twitters whenever it detects &lt;a href="http://hackaday.com/2009/04/13/twittering-toots-a-chairs-perspective/"&gt;a disturbance in the force,&lt;/a&gt; I found it hard to take Twitter seriously. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/brillweb"&gt;My boss&lt;/a&gt; at the &lt;a href="http://www.brillianceweb.com"&gt;web design company&lt;/a&gt; where I work is a huge fan of Twitter, so I decided to create a Twitter account in order to promote this blog.&lt;/p&gt;  &lt;p&gt;Since I love DotNetNuke I decided to create a simple DNN module to display my recent &lt;em&gt;n&lt;/em&gt; status updates. I wanted it to use CSS styling to make it as easy as possible to integrate into a website. After consulting the &lt;a href="http://apiwiki.twitter.com/"&gt;Twitter API wiki&lt;/a&gt; I came up with this simple method below to query the Twitter API.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Public Shared Function &lt;/span&gt;GetUserTimeLine(&lt;span style="color: blue"&gt;ByVal &lt;/span&gt;ScreenName &lt;span style="color: blue"&gt;As String&lt;/span&gt;, &lt;span style="color: blue"&gt;ByVal &lt;/span&gt;Count &lt;span style="color: blue"&gt;As Integer&lt;/span&gt;) &lt;span style="color: blue"&gt;As String
    Dim &lt;/span&gt;Url &lt;span style="color: blue"&gt;As New &lt;/span&gt;StringBuilder()
    &lt;span style="color: blue"&gt;Dim &lt;/span&gt;TwitterResponse &lt;span style="color: blue"&gt;As String &lt;/span&gt;= &lt;span style="color: #a31515"&gt;""
    &lt;/span&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;Statuses &lt;span style="color: blue"&gt;As New &lt;/span&gt;List(&lt;span style="color: blue"&gt;Of &lt;/span&gt;Status)
    Url.Append(&lt;span style="color: #a31515"&gt;"http://twitter.com/statuses/user_timeline.xml?screen_name="&lt;/span&gt;)
    Url.Append(ScreenName)
    Url.Append(&lt;span style="color: #a31515"&gt;"&amp;count="&lt;/span&gt;)
    Url.Append(Count)

    &lt;span style="color: blue"&gt;Dim &lt;/span&gt;wc &lt;span style="color: blue"&gt;As New &lt;/span&gt;System.Net.WebClient()

    &lt;span style="color: blue"&gt;Try
        &lt;/span&gt;TwitterResponse = wc.DownloadString(Url.ToString())
    &lt;span style="color: blue"&gt;Catch &lt;/span&gt;ex &lt;span style="color: blue"&gt;As &lt;/span&gt;Exception
        &lt;span style="color: green"&gt;'Do Nothing
    &lt;/span&gt;&lt;span style="color: blue"&gt;End Try

    Return &lt;/span&gt;TwitterResponse
&lt;span style="color: blue"&gt;End Function&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;The method takes the screen name of the Twitter user, and the amount of posts to return as parameters. I then use a StringBuilder to construct the appropriate url, and then use a WebClient to query twitter. This methods returns Twitter’s XML response. &lt;/p&gt;

&lt;p&gt;You can see an example of the module in the left side bar of this site. If you are interested in how I parsed the data, encoded the links, or if you just want to use this module on your site you can download it on my &lt;a href="http://www.abstractcoder.net/Downloads/tabid/57/Default.aspx"&gt;download page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Any questions and comments are appreciated.&lt;/p&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/7/Querying-the-Twitter-API-in-VB-net.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/7/Querying-the-Twitter-API-in-VB-net.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/7/Querying-the-Twitter-API-in-VB-net.aspx</guid>
      <pubDate>Fri, 15 May 2009 20:38:31 GMT</pubDate>
      <slash:comments>201</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=7</trackback:ping>
    </item>
    <item>
      <title>DNN Redirect Multiple Domains to a Single Domain</title>
      <description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Do you want all the portal aliases on your DotNetNuke site to redirect to a single domain? You &lt;em&gt;could &lt;/em&gt;remove all your portal aliases except for the one you want DNN to default to, but this will lead to the generation of 302 (temporary) redirects. This is good for the people who browse your site, but Google (and the other major search engines) will keep indexing your content at your old domains. To get your content re-indexed using one domain, you will need to use a 301 redirect. To accomplish this you can paste the following code snippet into your site’s skin.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;=server&gt;
    Private Sub &lt;/span&gt;Page_Init(&lt;span style="color: blue"&gt;ByVal &lt;/span&gt;sender &lt;span style="color: blue"&gt;As &lt;/span&gt;System.Object, &lt;span style="color: blue"&gt;ByVal &lt;/span&gt;e &lt;span style="color: blue"&gt;As &lt;/span&gt;System.EventArgs) &lt;span style="color: blue"&gt;Handles MyBase&lt;/span&gt;.Init
        &lt;span style="color: green"&gt;'The domain you wish to redirect to
        &lt;/span&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;Domain &lt;span style="color: blue"&gt;As String &lt;/span&gt;= &lt;span style="color: #a31515"&gt;"www.abstractcoder.net"
        &lt;/span&gt;&lt;span style="color: blue"&gt;Dim &lt;/span&gt;URL &lt;span style="color: blue"&gt;As String &lt;/span&gt;= &lt;span style="color: #a31515"&gt;""
        &lt;/span&gt;&lt;span style="color: blue"&gt;If Not &lt;/span&gt;Request.Url.Host.ToLower().Equals(Domain) &lt;span style="color: blue"&gt;Then
            &lt;/span&gt;&lt;span style="color: green"&gt;'I prefer sites' homepages to be indexed by the url without the trailing /default.aspx
            &lt;/span&gt;&lt;span style="color: blue"&gt;If Not &lt;/span&gt;Request.RawUrl.ToLower.Equals(&lt;span style="color: #a31515"&gt;"/default.aspx"&lt;/span&gt;) &lt;span style="color: blue"&gt;Then
                &lt;/span&gt;&lt;span style="color: green"&gt;'RawUrl is used because it contains the friendly url (and it works with url rewriters)
                &lt;/span&gt;URL = Request.RawUrl
            &lt;span style="color: blue"&gt;End If
            &lt;/span&gt;&lt;span style="color: green"&gt;'This is all that’s needed to set up the redirect
            &lt;/span&gt;Response.Status = &lt;span style="color: #a31515"&gt;"301 Moved Permanently"
            &lt;/span&gt;Response.AddHeader(&lt;span style="color: #a31515"&gt;"Location"&lt;/span&gt;, Request.Url.Scheme &amp; &lt;span style="color: #a31515"&gt;"://" &lt;/span&gt;&amp; Domain &amp; URL)
            Response.End()
        &lt;span style="color: blue"&gt;End If
    End Sub
&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Now your site will consistently redirect to the domain you want the search engines to index. This is currently in place on this site as well as &lt;a href="http://www.brillianceweb.com"&gt;my companies website&lt;/a&gt;, and I have tested it locally, but if you run into any issues, or if you have any questions, feel free to post a comment.&lt;/p&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/6/DNN-Redirect-Multiple-Domains-to-a-Single-Domain.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/6/DNN-Redirect-Multiple-Domains-to-a-Single-Domain.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/6/DNN-Redirect-Multiple-Domains-to-a-Single-Domain.aspx</guid>
      <pubDate>Thu, 23 Apr 2009 23:52:40 GMT</pubDate>
      <slash:comments>805</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=6</trackback:ping>
    </item>
    <item>
      <title>Using JQuery in a DNN 4 Module</title>
      <description>&lt;p&gt;Recently I have been having a lot of fun using &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; outside of DNN and I wanted to try to incorporate it in a DNN module. I’ve heard that &lt;a href="http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/2009/DotNetNuke-5-0-Now-with-jQuery.aspx"&gt;jQuery is included in DNN 5&lt;/a&gt; but I still prefer using the current 4.9.x version for all the projects I work on. I soon found out that it wasn’t as straight forward to integrate jQuery in a pre-DNN5 module as I thought it would be.&lt;/p&gt;  &lt;p&gt;To use JQuery you will need to download the jQuery .js file into your module folder. Then you will need to register the script in your modules PreRender event.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Protected Overloads Sub &lt;/span&gt;OnPreRender(&lt;span style="color: blue"&gt;ByVal &lt;/span&gt;sender &lt;span style="color: blue"&gt;As Object&lt;/span&gt;, &lt;span style="color: blue"&gt;ByVal &lt;/span&gt;e &lt;span style="color: blue"&gt;As &lt;/span&gt;EventArgs) &lt;span style="color: blue"&gt;Handles Me&lt;/span&gt;.PreRender
    &lt;span style="color: blue"&gt;Dim &lt;/span&gt;ModuleDir &lt;span style="color: blue"&gt;As String &lt;/span&gt;= &lt;span style="color: blue"&gt;Me&lt;/span&gt;.TemplateSourceDirectory
    &lt;span style="color: blue"&gt;If &lt;/span&gt;(&lt;span style="color: blue"&gt;Not &lt;/span&gt;Page.ClientScript.IsClientScriptIncludeRegistered(&lt;span style="color: #a31515"&gt;"jQueryScripts"&lt;/span&gt;)) &lt;span style="color: blue"&gt;Then
        &lt;/span&gt;Page.ClientScript.RegisterClientScriptInclude(&lt;span style="color: #a31515"&gt;"jQueryScripts"&lt;/span&gt;, ModuleDir + &lt;span style="color: #a31515"&gt;"/jquery-1.3.2.min.js"&lt;/span&gt;)
        Page.ClientScript.RegisterClientScriptInclude(&lt;span style="color: #a31515"&gt;"jQueryScripts2"&lt;/span&gt;, ModuleDir + &lt;span style="color: #a31515"&gt;"/sensitive-text.js"&lt;/span&gt;)
    &lt;span style="color: blue"&gt;End If
End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;In this example I’m checking to see that the jQuery wasn’t previously loaded to avoid conflicts. However, this will only work if I put two of this particular module on the same page. If another module loads the jQuery script using a different key (here I use the key “jQueryScripts”) or if the jQuery script is included in the skin, a conflict will still occur. The second script that I am registering is the javascript file I created for module I was working on.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;$j = jQuery.noConflict();
$j(document).ready(&lt;span style="color: blue"&gt;function&lt;/span&gt;(){
    $j(&lt;span style="color: #a31515"&gt;".fade_text"&lt;/span&gt;).fadeIn("slow");
});&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;The most important thing to notice here is that you can’t call jQuery by using the $ directly because this interferes with DNN’s javascript routines. You will need to declare a var that hold the jQuery.noConflict() object, and use this variable instead. &lt;/p&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/5/Using-JQuery-in-a-DNN-4-Module.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/5/Using-JQuery-in-a-DNN-4-Module.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/5/Using-JQuery-in-a-DNN-4-Module.aspx</guid>
      <pubDate>Fri, 10 Apr 2009 16:05:20 GMT</pubDate>
      <slash:comments>184</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=5</trackback:ping>
    </item>
    <item>
      <title>Custom DNN Blog Recent Entry Module Tutorial</title>
      <description>&lt;p&gt;When creating this site I had a lot of inspiration from my favorite &lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.codinghorror.comhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;programming blog&lt;/a&gt;. I also wanted to build it with the technology I would be talking about so the obvious choice was &lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.dotnetnuke.comhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;DotNetNuke&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;When I was looking for a good blog module I was surprised to find that there wasn’t many out there. I decided to go with the blog module made my DotNetNuke and after following an article on &lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.dnncreative.com/Tutorials/ModuleDevelopment/HowtoimproveaDotNetNukemodule/tabid/312/Default.aspxhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;DNNCreative&lt;/a&gt; and making some modifications I came up with a look that I am happy with. &lt;/p&gt;  &lt;p&gt;The one thing the default module was lacking, however, was a module that displays links to the most recent articles. This would allow me to only display a few articles on the main page and still allow user to find the recent X blog entries I had written. &lt;/p&gt;  &lt;p&gt;Another thought was that a module like this could increase Search Engine rankings by including more links on the homepage containing potential keywords.&lt;/p&gt;  &lt;p&gt;I’ve had experience making DNN modules before so I thought it was be fun to make one as simple as possible and write a tutorial on how it did it. This site is practically writing itself!&lt;/p&gt;  &lt;p&gt;Before we begin you want want to review my &lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.net/Home/tabid/37/EntryId/3/Creating-a-Very-Simple-DotNetNuke-Module.aspxhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;very simple DNN module tutorial&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The first step when creating a DNN module is to open a local DNN installation in Visual Studio and creating a new folder under DesktopModules. I decided to call the folder RecentEntries.&lt;/p&gt;  &lt;p&gt;Next right click on the folder, select Add New Item, and pick Web User Control. You can name this whatever you like (a standard convention is naming the control that the end user will see “View.ascx”). I made the following modifications to the code that was generated by Visual Studio.&lt;/p&gt;  &lt;p&gt;View.ascx&lt;/p&gt;  &lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;%&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;@ &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Control &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Language&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"VBhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;AutoEventWireup&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"falsehttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CodeFile&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"View.ascx.vbhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Modules.RecentEntries.Viewhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;%&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;View.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;System.Web.UI
&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;DotNetNuke

&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Namespace &lt;/span&gt;Modules.RecentEntries
    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Partial Class &lt;/span&gt;View
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits &lt;/span&gt;DotNetNuke.Entities.Modules.PortalModuleBase

    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Class
End Namespace&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;The code above is a good jumping off point and I use it as the basis of most of my modules (changing the namespace and class names of course).&lt;/p&gt;

&lt;p&gt;I decided that for this module I would generate the HTML for the control myself and just stick it into a ASP:Literal object. The final code for this module can be found at the bottom of the post.&lt;/p&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;The next step was to find a way to get the recent blog entries from the database. After looking around the stored procedures that get installed with the DNN blog module I found one that was perfect for the job. I wrote a method that accepts a Blog ID and the number of entries to display and creates the HTML for the control.&lt;/p&gt;

&lt;p&gt;View.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;       Private Sub &lt;/span&gt;Load_Entries(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ByVal &lt;/span&gt;BlogID &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer&lt;/span&gt;, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ByVal &lt;/span&gt;Num &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer&lt;/span&gt;)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;Adapter &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;SqlDataAdapter(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Blog_ListEntriesByBlog http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ BlogID.ToString() + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net",NULL,0,0,http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ Num.ToString(), ConfigurationManager.ConnectionStrings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"SiteSqlServerhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;).ToString())
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;Entries &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DataSet()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;ControlText &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;StringBuilder()
            Adapter.Fill(Entries)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;For Each &lt;/span&gt;R &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;DataRow &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;In &lt;/span&gt;Entries.Tables(0).Rows
                ControlText.Append(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ R(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Permalinkhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;) + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ R(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Titlehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;) + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/a&gt;&lt;br/&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Next
            &lt;/span&gt;Literal1.Text = ControlText.ToString()
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;I created a SQLDataAdapter and added the query and the connection string directly into the constructor. I then filled a DataSet with the results and enumerated the rows in a for loop. I decided to just create simple text links with line breaks in between them. The method finishes by populating the Literal with the html code.&lt;/p&gt;

&lt;p&gt;Now I needed a way for the person using the module to specify which blog to get the entries from and how many entries would be displayed. I did this by creating a method that loads module settings and then calls Load_Entries.&lt;/p&gt;

&lt;p&gt;View.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;        Private Sub &lt;/span&gt;Create_Control()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;objModules &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DotNetNuke.Entities.Modules.ModuleController
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;modSettings &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Hashtable = objModules.GetModuleSettings(ModuleId)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                Dim &lt;/span&gt;BlogID &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer &lt;/span&gt;= &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(modSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;Num &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer &lt;/span&gt;= &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(modSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                Load_Entries(BlogID, Num)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Catch &lt;/span&gt;ex &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception
                Literal1.Text = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;div color=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Please uses Settings to configure the module&lt;/div&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"
            &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;First I created a DNN ModuleController. Then I called its GetModuleSettings method with the current ModuleId (a field we get access to by importing the DotNetNuke namespace) and store the resulting Hashtable. I then attempted to load and convert these settings into integers. Load_Entries is called with the settings as parameters. I used a simple try/catch block to handle any errors and display a simple (maybe too simple) error message if an error is encountered.&lt;/p&gt;

&lt;p&gt;Now we have the module almost complete, we just need a way for the person using this module to enter the Blog ID and number of entries to be displayed. &lt;/p&gt;

&lt;p&gt;For that we will need to create a Settings Web User Control. To do this I right clicked on my module folder (RecentEntries) and added another Web User Control called Settings.ascx (but again, the name doesn’t matter). I then populated Settings.ascx with the following code.&lt;/p&gt;

&lt;p&gt;Settings.ascx&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;%&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;@ &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Control &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Language&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"VBhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;AutoEventWireup&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"falsehttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CodeFile&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Settings.ascx.vbhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Modules.RecentEntries.Settingshttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;%&gt;
&lt;%&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;@ &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Register &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TagPrefix&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"dnnhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TagName&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Labelhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Src&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"~/controls/LabelControl.ascxhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;%&gt;
&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;table &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;width&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"100%http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
    &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;class&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"SubHeadhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;dnn&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Label &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"plNumhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ControlName&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"txtNumhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Text&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Number of recent entries to display:http://www.abstractcoder.nethttp://www.abstractcoder.net"
                &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;HelpText&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Pick the number of articles you want this module to displayhttp://www.abstractcoder.nethttp://www.abstractcoder.net" /&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TextBox &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"txtNumhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TextBox&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
    &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;class&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"SubHeadhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;dnn&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Label &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"plBloghttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ControlName&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"ddlBloghttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Text&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Blog:http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;HelpText&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Pick the blog you want this module to display articles fromhttp://www.abstractcoder.nethttp://www.abstractcoder.net" /&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;DropDownList &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"ddlBloghttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
            &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;DropDownList&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;table&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;Note that I decided to use the DNN Label controls and the SubHead CSSClass to keep this settings section consistent with the rest of DotNetNuke. I then went and edited Settings.ascx.vb with the bare essentials to serve as a jumping off point.&lt;/p&gt;

&lt;p&gt;Settings.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;System.Web.UI
&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;DotNetNuke

&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Namespace &lt;/span&gt;Modules.RecentEntries
    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Partial Class &lt;/span&gt;Settings
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits &lt;/span&gt;DotNetNuke.Entities.Modules.ModuleSettingsBase

        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Public Overrides Sub &lt;/span&gt;LoadSettings()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                If Not &lt;/span&gt;Page.IsPostBack &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                End If
            Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Module failed to load
                &lt;/span&gt;ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub

        Public Overrides Sub &lt;/span&gt;UpdateSettings()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
            Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Module failed to load
                &lt;/span&gt;ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub

    End Class
End Namespace&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Notice that the Settings control needs to inherit from DotNetNuke.Entities.Modules.ModuleSettingsBase and its also important to override the methods LoadSettings() and UpdateSettings(). When these functions get called is pretty self explanatory. &lt;/p&gt;

&lt;p&gt;Now that I have the basic framework done I will need a method that will populate the DropDownList with all the blogs that my site contains. &lt;/p&gt;

&lt;p&gt;Settings.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;       Private Sub &lt;/span&gt;PopulateBlogDropDown()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;adapter &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;SqlDataAdapter(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Blog_ListBlogsByPortal http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ PortalId.ToString() + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net",0http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;, ConfigurationManager.ConnectionStrings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"SiteSqlServerhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;).ToString())
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;results &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DataSet()

            adapter.Fill(results)

            ddlBlog.DataSource = results.Tables(0)
            ddlBlog.DataTextField = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Titlehttp://www.abstractcoder.nethttp://www.abstractcoder.net"
            &lt;/span&gt;ddlBlog.DataValueField = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"
            &lt;/span&gt;ddlBlog.DataBind()
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Sub&lt;/span&gt;&lt;/pre&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;font face=http://www.abstractcoder.nethttp://www.abstractcoder.net"Trebuchet MShttp://www.abstractcoder.nethttp://www.abstractcoder.net" color=http://www.abstractcoder.nethttp://www.abstractcoder.net"#000000http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;The code I used to get the information from the database is very similar to the code I used to get the information for the recent entries. I’m using another stored procedure that is installed with the DNN Blog module.&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;font face=http://www.abstractcoder.nethttp://www.abstractcoder.net"Trebuchet MShttp://www.abstractcoder.nethttp://www.abstractcoder.net" color=http://www.abstractcoder.nethttp://www.abstractcoder.net"#000000http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Next I populated LoadSettings() and UpdateSettings() with code that loads and saves the module settings to the database.&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Settings.ascx.vb&lt;/pre&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;       Public Overrides Sub &lt;/span&gt;LoadSettings()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                If Not &lt;/span&gt;Page.IsPostBack &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                    &lt;/span&gt;PopulateBlogDropDown()
                    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;If CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;String&lt;/span&gt;) &lt;&gt; &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                        &lt;/span&gt;ddlBlog.SelectedValue = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End If
                    If CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;String&lt;/span&gt;) &lt;&gt; &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                        &lt;/span&gt;txtNum.Text = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End If
                End If
            Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Module failed to load
                &lt;/span&gt;ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub

        Public Overrides Sub &lt;/span&gt;UpdateSettings()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                Dim &lt;/span&gt;objModules &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DotNetNuke.Entities.Modules.ModuleController
                objModules.UpdateModuleSetting(ModuleId, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;, ddlBlog.SelectedValue.ToString())
                objModules.UpdateModuleSetting(ModuleId, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;, txtNum.Text.ToString())
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Module failed to load
                &lt;/span&gt;ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Loading the module settings is simple because they are easily accessed using the ModuleSettings collection. Updating the module settings requires creating a ModuleController and calling its UpdateModuleSettings method.&lt;/p&gt;

&lt;p&gt;That’s all there is to it! After adding the module to your site and configuring it properly you should see something similar to the Recent module on this blog. Here is a screenshot of what the settings look like:&lt;/p&gt;

&lt;p&gt;&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.net/Portals/0/Blog/Files/1/4/WLW-CustomDNNBlogRecentEntryModule_B40A-image_2.pnghttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;img title=http://www.abstractcoder.nethttp://www.abstractcoder.net"imagehttp://www.abstractcoder.nethttp://www.abstractcoder.net" style=http://www.abstractcoder.nethttp://www.abstractcoder.net"border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0pxhttp://www.abstractcoder.nethttp://www.abstractcoder.net" height=http://www.abstractcoder.nethttp://www.abstractcoder.net"167http://www.abstractcoder.nethttp://www.abstractcoder.net" alt=http://www.abstractcoder.nethttp://www.abstractcoder.net"imagehttp://www.abstractcoder.nethttp://www.abstractcoder.net" src=http://www.abstractcoder.nethttp://www.abstractcoder.net"/Portals/0/Blog/Files/1/4/WLW-CustomDNNBlogRecentEntryModule_B40A-image_thumb.pnghttp://www.abstractcoder.nethttp://www.abstractcoder.net" width=http://www.abstractcoder.nethttp://www.abstractcoder.net"597http://www.abstractcoder.nethttp://www.abstractcoder.net" border=http://www.abstractcoder.nethttp://www.abstractcoder.net"0http://www.abstractcoder.nethttp://www.abstractcoder.net" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;I hope you found this tutorial helpful and interesting. If you have any questions or comments leave them below. &lt;/p&gt;

&lt;p&gt;View.ascx&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;%&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;@ &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Control &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Language&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"VBhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;AutoEventWireup&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"falsehttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CodeFile&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"View.ascx.vbhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Modules.RecentEntries.Viewhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;%&gt;
&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Literal &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Literal1http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Literal&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;View.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;System.Web.UI
&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;DotNetNuke

&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Namespace &lt;/span&gt;Modules.RecentEntries
    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Partial Class &lt;/span&gt;View
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits &lt;/span&gt;DotNetNuke.Entities.Modules.PortalModuleBase

        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Private Sub &lt;/span&gt;Page_Load(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ByVal &lt;/span&gt;sender &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;System.Object, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ByVal &lt;/span&gt;e &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;System.EventArgs) &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Handles MyBase&lt;/span&gt;.Load, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;.Load
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                If Not &lt;/span&gt;Page.IsPostBack &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                    &lt;/span&gt;Create_Control()
                &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End If
            Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception
                ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub

        Private Sub &lt;/span&gt;Load_Entries(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ByVal &lt;/span&gt;BlogID &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer&lt;/span&gt;, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ByVal &lt;/span&gt;Num &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer&lt;/span&gt;)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;Adapter &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;SqlDataAdapter(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Blog_ListEntriesByBlog http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ BlogID.ToString() + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net",NULL,0,0,http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ Num.ToString(), ConfigurationManager.ConnectionStrings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"SiteSqlServerhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;).ToString())
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;Entries &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DataSet()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;ControlText &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;StringBuilder()
            Adapter.Fill(Entries)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;For Each &lt;/span&gt;R &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;DataRow &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;In &lt;/span&gt;Entries.Tables(0).Rows
                &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Add an extra line break to every link except the first one
                &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;If &lt;/span&gt;ControlText.Length &gt; 0 &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                    &lt;/span&gt;ControlText.Append(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;br/&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;)
                &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End If
                &lt;/span&gt;ControlText.Append(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ R(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Permalinkhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;) + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ R(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Titlehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;) + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/a&gt;&lt;br/&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Next
            &lt;/span&gt;Literal1.Text = ControlText.ToString()
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Sub

        Private Sub &lt;/span&gt;Create_Control()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;objModules &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DotNetNuke.Entities.Modules.ModuleController
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;modSettings &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Hashtable = objModules.GetModuleSettings(ModuleId)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                Dim &lt;/span&gt;BlogID &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer &lt;/span&gt;= &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(modSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;Num &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As Integer &lt;/span&gt;= &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(modSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                Load_Entries(BlogID, Num)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Catch &lt;/span&gt;ex &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception
                Literal1.Text = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;div color=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Please uses Settings to configure the module&lt;/div&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"
            &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub
    End Class
End Namespace
&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;Settings.ascx&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;%&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;@ &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Control &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Language&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"VBhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;AutoEventWireup&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"falsehttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CodeFile&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Settings.ascx.vbhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Modules.RecentEntries.Settingshttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;%&gt;
&lt;%&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;@ &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Register &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TagPrefix&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"dnnhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TagName&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Labelhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Src&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"~/controls/LabelControl.ascxhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"background: #ffee62http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;%&gt;
&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;table &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;width&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"100%http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
    &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;class&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"SubHeadhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;dnn&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Label &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"plNumhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ControlName&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"txtNumhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Text&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Number of recent entries to display:http://www.abstractcoder.nethttp://www.abstractcoder.net"
                &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;HelpText&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Pick the number of articles you want this module to displayhttp://www.abstractcoder.nethttp://www.abstractcoder.net" /&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TextBox &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"txtNumhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;TextBox&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
    &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;class&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"SubHeadhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;dnn&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Label &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"plBloghttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ControlName&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"ddlBloghttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Text&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Blog:http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;HelpText&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"Pick the blog you want this module to display articles fromhttp://www.abstractcoder.nethttp://www.abstractcoder.net" /&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
            &lt;&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;DropDownList &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;runat&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"serverhttp://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: redhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;ID&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;=http://www.abstractcoder.nethttp://www.abstractcoder.net"ddlBloghttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;
            &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;asp&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;:&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;DropDownList&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
        &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;td&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
    &lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;tr&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
&lt;/&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;table&lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;

&lt;p&gt;Settings.ascx.vb&lt;/p&gt;

&lt;pre class=http://www.abstractcoder.nethttp://www.abstractcoder.net"codehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;System.Web.UI
&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Imports &lt;/span&gt;DotNetNuke

&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Namespace &lt;/span&gt;Modules.RecentEntries
    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Partial Class &lt;/span&gt;Settings
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Inherits &lt;/span&gt;DotNetNuke.Entities.Modules.ModuleSettingsBase

        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Public Overrides Sub &lt;/span&gt;LoadSettings()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                If Not &lt;/span&gt;Page.IsPostBack &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                    &lt;/span&gt;PopulateBlogDropDown()
                    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;If CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;String&lt;/span&gt;) &lt;&gt; &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                        &lt;/span&gt;ddlBlog.SelectedValue = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End If
                    If CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;String&lt;/span&gt;) &lt;&gt; &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Then
                        &lt;/span&gt;txtNum.Text = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;CType&lt;/span&gt;(ModuleSettings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;), &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Integer&lt;/span&gt;)
                    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End If
                End If
            Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Module failed to load
                &lt;/span&gt;ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub

        Public Overrides Sub &lt;/span&gt;UpdateSettings()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Try
                Dim &lt;/span&gt;objModules &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DotNetNuke.Entities.Modules.ModuleController
                objModules.UpdateModuleSetting(ModuleId, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;, ddlBlog.SelectedValue.ToString())
                objModules.UpdateModuleSetting(ModuleId, &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Numhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;, txtNum.Text.ToString())
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Catch &lt;/span&gt;exc &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As &lt;/span&gt;Exception    &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: greenhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;'Module failed to load
                &lt;/span&gt;ProcessModuleLoadException(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Me&lt;/span&gt;, exc)
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Try
        End Sub

        Private Sub &lt;/span&gt;PopulateBlogDropDown()
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;adapter &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;SqlDataAdapter(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Blog_ListBlogsByPortal http://www.abstractcoder.nethttp://www.abstractcoder.net" &lt;/span&gt;+ PortalId.ToString() + &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net",0http://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;, ConfigurationManager.ConnectionStrings(&lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"SiteSqlServerhttp://www.abstractcoder.nethttp://www.abstractcoder.net"&lt;/span&gt;).ToString())
            &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;Dim &lt;/span&gt;results &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;As New &lt;/span&gt;DataSet()
            adapter.Fill(results)
            ddlBlog.DataSource = results.Tables(0)
            ddlBlog.DataTextField = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"Titlehttp://www.abstractcoder.nethttp://www.abstractcoder.net"
            &lt;/span&gt;ddlBlog.DataValueField = &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: #a31515http://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;http://www.abstractcoder.nethttp://www.abstractcoder.net"BlogIDhttp://www.abstractcoder.nethttp://www.abstractcoder.net"
            &lt;/span&gt;ddlBlog.DataBind()
        &lt;span style=http://www.abstractcoder.nethttp://www.abstractcoder.net"color: bluehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;End Sub
    End Class
End Namespace&lt;/span&gt;&lt;/pre&gt;
&lt;a href=http://www.abstractcoder.nethttp://www.abstractcoder.net"http://11011.net/software/vspastehttp://www.abstractcoder.nethttp://www.abstractcoder.net"&gt;&lt;/a&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/4/Custom-DNN-Blog-Recent-Entry-Module-Tutorial.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/4/Custom-DNN-Blog-Recent-Entry-Module-Tutorial.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/4/Custom-DNN-Blog-Recent-Entry-Module-Tutorial.aspx</guid>
      <pubDate>Tue, 17 Feb 2009 22:17:09 GMT</pubDate>
      <slash:comments>147</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=4</trackback:ping>
    </item>
    <item>
      <title>Creating a Very Simple DotNetNuke Module</title>
      <description>&lt;p&gt;My favorite projects are ones that involve creating DotNetNuke Modules. In this tutorial I will cover very briefly how to make a simple “Hello, World!” module in the hope that I will give you the basic knowledge that you need to get started making your own. &lt;/p&gt;  &lt;p&gt;What you will need: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2005, 2008 (if you don’t have either you can download the &lt;a href="http://www.microsoft.com/Express/"&gt;VB Express Edition&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;A local DotNetNuke installation (here is a good &lt;a href="http://forums.asp.net/p/937685/1114393.aspx#1114393"&gt;DNN installation tutorial&lt;/a&gt;)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The first step is to start Visual Studio and open your site. You can do this by selecting File –&gt; Open –&gt; Web Site… and navigating to the folder that contains your website.&lt;/p&gt;  &lt;p&gt;After your site loads you should see the folder DesktopModules in the Solution Explorer. This is where all the modules you create will reside in DotNetNuke. Right click on DesktopModules select New Folder and name it HelloWorld.&lt;/p&gt;  &lt;p&gt;Next you will need to right click on the folder you just created and select Add New Item. Pick Web User Control from the template list, name it View.ascx, and click Add. This is what your folder should look like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="57" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb.png" width="196" border="0" /&gt;&lt;/a&gt; Copy the following code into View.ascx:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="background: #ffee62"&gt;&lt;%&lt;/span&gt;&lt;span style="color: blue"&gt;@ &lt;/span&gt;&lt;span style="color: #a31515"&gt;Control &lt;/span&gt;&lt;span style="color: red"&gt;Language&lt;/span&gt;&lt;span style="color: blue"&gt;="VB" &lt;/span&gt;&lt;span style="color: red"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color: blue"&gt;="false" &lt;/span&gt;&lt;span style="color: red"&gt;CodeFile&lt;/span&gt;&lt;span style="color: blue"&gt;="View.ascx.vb" &lt;/span&gt;&lt;span style="color: red"&gt;Inherits&lt;/span&gt;&lt;span style="color: blue"&gt;="Modules.HelloWorld.View" &lt;/span&gt;&lt;span style="background: #ffee62"&gt;%&gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;&lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Label &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;="lblHelloWorld" &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server" &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=""&gt;&lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;asp&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Label&lt;/span&gt;&lt;span style="color: blue"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;Copy the following code into View.ascx.vb:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Imports &lt;/span&gt;System.Web.UI
&lt;span style="color: blue"&gt;Imports &lt;/span&gt;DotNetNuke

&lt;span style="color: blue"&gt;Namespace &lt;/span&gt;Modules.HelloWorld
    &lt;span style="color: blue"&gt;Partial Class &lt;/span&gt;View
        &lt;span style="color: blue"&gt;Inherits &lt;/span&gt;DotNetNuke.Entities.Modules.PortalModuleBase

        &lt;span style="color: blue"&gt;Protected Sub &lt;/span&gt;Page_Load(&lt;span style="color: blue"&gt;ByVal &lt;/span&gt;sender &lt;span style="color: blue"&gt;As Object&lt;/span&gt;, &lt;span style="color: blue"&gt;ByVal &lt;/span&gt;e &lt;span style="color: blue"&gt;As &lt;/span&gt;System.EventArgs) &lt;span style="color: blue"&gt;Handles Me&lt;/span&gt;.Load
            lblHelloWorld.Text = &lt;span style="color: #a31515"&gt;"Hello, World! This page was loaded at " &lt;/span&gt;+ System.DateTime.Now.ToString()
        &lt;span style="color: blue"&gt;End Sub

    End Class
End Namespace&lt;/span&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Notice that the control consists only of a singular asp:Label control and all that the code behind does is display a message that contains the current data and time. This code is executed when the page that contains the module is loaded.&lt;/p&gt;

&lt;p&gt;Also notice that I added a namespace and changed the class name that was automatically generated by Visual Studio. This keeps everything clean and much more readable.&lt;/p&gt;

&lt;p&gt;To add this module to your site you will first need to log in as the host of your local DNN site. Below is a picture tutorial on how to set up your module.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="144" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_1.png" width="474" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_6.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="173" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_2.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_8.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="484" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_3.png" width="502" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_10.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="163" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_4.png" width="619" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_12.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="213" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_5.png" width="661" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_16.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="374" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_7.png" width="600" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_18.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="271" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_8.png" width="682" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Now you can add the module to any page to see it in action.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.abstractcoder.net/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_20.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="98" alt="image" src="/Portals/0/Blog/Files/1/3/WLW-CreatingaSimpleDotNetNukeModule_BB0D-image_thumb_9.png" width="411" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Now that you have your first DotNetNuke module under your belt I recommend expanding this module with buttons and textboxes and more functionality. I hope that you have learned enough from this tutorial to get you started with your own custom DotNetNuke module development. If you have any questions feel free to leave me a comment.&lt;/p&gt;</description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/3/Creating-a-Very-Simple-DotNetNuke-Module.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/3/Creating-a-Very-Simple-DotNetNuke-Module.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/3/Creating-a-Very-Simple-DotNetNuke-Module.aspx</guid>
      <pubDate>Wed, 11 Feb 2009 20:03:55 GMT</pubDate>
      <slash:comments>652</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=3</trackback:ping>
    </item>
    <item>
      <title>Welcome to Abstract Coder</title>
      <description>As you can probably tell this blog is still under construction. In the up coming weeks I hope to start posting every Tuesday and Thursday on topics ranging from DotNetNuke, DotNetNuke module development, AspDotNetStorefront ML/DNN, VB.Net, and ASP.Net. I know this site is young but if you have any questions on the topics I had previously mentioned send them to me and I may use them as inspiration for the type of entries I will write. </description>
      <link>http://www.abstractcoder.net/Home/tabid/37/EntryId/2/Welcome-to-Abstract-Coder.aspx</link>
      <author>steve@abstractcoder.net</author>
      <comments>http://www.abstractcoder.net/Home/tabid/37/EntryId/2/Welcome-to-Abstract-Coder.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.abstractcoder.net/Home/tabid/37/EntryId/2/Welcome-to-Abstract-Coder.aspx</guid>
      <pubDate>Wed, 11 Feb 2009 00:19:05 GMT</pubDate>
      <slash:comments>174</slash:comments>
      <trackback:ping>http://www.abstractcoder.net/DesktopModules/Blog/Trackback.aspx?id=2</trackback:ping>
    </item>
  </channel>
</rss>