Skip to main content

ASP.Net DotNetNuke Page Header Head/Meta Tags

Adding meta, css and script tag to the header proved to be too much trial and error. And searching online results in no clear solution either.

My custom requirement was for DotNetNuke Module to add css and script tag at page level head tag not inside the body tag.

Here is the simple solution:
In my view.ascx.vb file, I have added a prerender block of script:

Private Sub Page_PreRender(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.PreRender

    Dim htmlHeadTags As String
    Dim htmlHeadCtrl As LiteralControl = New LiteralControl

    htmlHeadTags = "<meta name=""viewport"" content=""initial-scale=1.0, user-scalable=no"" />" _
& "<link href="""" rel=""stylesheet"" type=""text/css""/>" _
& "<link id=""ServiceCenterCSS"" rel=""stylesheet"" type=""text/css"" href=""" & ResolveUrl("~/DesktopModules/ServiceCenter/ServiceCenter.css") & """ />" _
& "<script src=""""></script>"

    htmlHeadCtrl.Text = htmlHeadTags

    Dim header As Web.UI.HtmlControls.HtmlHead
    header = TryCast(Me.Page.Header, Web.UI.HtmlControls.HtmlHead)
    If header IsNot Nothing Then
    End If

    Catch exc As Exception 'Module failed to load

        ProcessModuleLoadException(Me, exc)
    End Try
End Sub

  1. I have added script later than style-sheets as its the recommended way for rendering the style-sheets and JavaScript.
  2. Also note that if you need to use the double quotes within the "...", you just use two double quotes to avoid the compilation or error message.

Please add your thoughts if you use similar or better approach to this requirement.



Popular posts from this blog

Completed UiPath - RPA Developer Advance Training

After a month of training, with late nights and weekends I have completed the UiPath RPA Developer Advance Training. The Level 1 Foundation Training pretty much covered all the basics of Desktop studio and workflows, only draw back was I started with the default foundation course which was for 2016, and all document reference links where pointing to 2016 version. I didn't understand it during the foundation training and kept switching to 2018 version document/page. Only after completing the Foundation course that I realized, I was suppose to have started with the 2018 version of Level 1 Foundation Training, but as it was optional I didn't have to retake the 2018 version, the 2016 was good enough for moving to level 2. The Level 2 Orchestrator 2018.3 Training as good. It gave good understanding of Queue's, Jobs, and schedules and I was able to complete the level two much faster then the level 1. The Level 3 UiPath Advanced Training was bit tough as it involved the a

KB 294807 - IIS Server - PHP FastCGI 500 Error 0xfffffffe

Resolved issue today of IIS Server - PHP FastCGI 500 Error 0xfffffffe by deleting "Windows Temp" folder files. We used Cygwin to customize some permissions of "Windows Temp" folder and after few hours the website stopped working. The search online was giving all kinds of different solution except what I was looking for. I was hoping the stackoverflow will have answers but even this post didn't cover the issue I was running into. Restarting the IIS didn't work, but deleting temp files cleared the issue, but now the problem is how long before the site will go down again? Hope the issue is resolved for ever, if not; I will update this post later.

QlikSense - Custom Form Login Screen

Extension of:  Custom login, logout and error forms for Qlik Sense by RPK QlikSense - Custom Login Screen Install Node on QlikSense Server: URL: Saved at: C:\server-tools\Downloads\Node Installed at: C:\server-tools\Runtime\nodejs\ Keep default options Create Folder: C:\QlikForm Clone git Repository and keep updates private: # Open Shell/Bash/Command Prompt cd /QlikForm # Ref: git clone --bare .git cd QS-Custom-Forms.git git push --mirror<name>/QS-Custom-Forms.git cd .. (go to parent folder) # remove other users repo clone rm -rf QS-Custom-Forms.git # clone witinc private repo git clone<name>/QS-Custom-Forms.git Get latest copy of login pages: # Open She