Recently I was asked to write a code to send entire Aspx page as an HTML mail using VB.Net.
Private Function ReadAspxPage(ByVal url As String) As String
Dim htmlPage As String
Dim objResponse As System.Net.WebResponse
Dim objRequest As System.Net.WebRequest = System.Net.HttpWebRequest.Create(url)
objResponse = objRequest.GetResponse()
Dim readpage As New System.IO.StreamReader(objResponse.GetResponseStream())
htmlPage = readpage.ReadToEnd()
readpage.Close()
Return htmlPage.toString()
End Function
Private Function GetEmailTemplate(ByVal templateName As String) As String
Dim sr As IO.StreamReader = New IO.StreamReader(System.Web.HttpContext.Current.Server.MapPath(templateName))
Dim body As String = sr.ReadToEnd()
sr.Close()
sr.Dispose()
Return body
End Function
I was asked to read all Mail merge Files in an HTML Template and then perform a mail Merge.
The MailMerge Fields were like ##[Field]##.
So thought to use regex to find the fields.
The biggest task for me was to write a regex for Matching ##[Merge Fields]##.
I had to display Yes or No based on databind this is how I did it.
<asp:Label ID=”IsUserActiveCheckBox” Text=’<%# if(Eval(“IsUserActive”),”Yes”,”No”) %>’
runat=”server” />
Also Bind will not work if you are databinding it.
Here is another example where I used code behind.
in Aspx :
<asp:RadioButtonList ID=”rbGLRSearch” runat=”server” RepeatDirection=”Horizontal”
OnSelectedIndexChanged=”EnableCluster” AutoPostBack=”true” SelectedValue=’<%# GetCheckBoxValue(Eval(“GLRSearch”)) %>’>
<asp:ListItem>Yes</asp:ListItem>
<asp:ListItem>No</asp:ListItem>
<asp:ListItem>N/A</asp:ListItem>
</asp:RadioButtonList>
in code behind :
Protected Function GetCheckBoxValue(ByVal bool) As String
If bool Is Nothing Then
Return “N/A”
ElseIf bool = True Then
Return “Yes”
ElseIf bool = False Then
Return “No”
End If
Return True
End Function
Came across this blogs.
really good collection of tools.
worth trying them.
I found this article while looking for improving the performance of ASP.NET for one of my application.
Its really good one.
I am going to try some of the stuff and see if there is a difference in performance.
Here;s the link to the blog

