URL rewriting using Global.asax, Error: The resource cannot be found.

June 23, 2009

Today I implemented my first application having URL rewriting enabled.
The application is created in Asp.net, C# and MS Sql 2005.

The url rewriting logic was working on the my localhost but it didn’t worked on production server.

I was getting an error: The resource cannot be found. while accessing the newly created URL pages.

I searched on Google about this and read lot, but nothing worked.

Finally I re-published the website and again uploaded all the files to production server and now everything worked like magic. Here is the URL: http://theplayclan.com/blog

Somewhere I read to check the permissions on server’s IIS, this method is explained below:

1) Open IIS manager.
2) Right click on your website’s virtual directory, select Properties.
3) Now, click on Configuration (in front of execute permissions option).
4) In the new popped-up window a list comes up as Application Extensions.
5) select .aspx option and click on edit.
6) Make sure that the Verify That File Exists is unchecked. This option explicitly check for the existence of file.
7) Save the settings and try again.

Somewhere it was mention to remove the *.* and regular expression extension mappings from the IIS may also work. The procedure of this is mentioned above.


Traverse / Loop through all form controls in asp.net

March 7, 2009

This post explains that how to traverse (loop through) all form controls in asp.net page.

foreach (System.Web.UI.Control ctrl in this.form1.Controls)
{
//here your code
}

Further if you want to get the state or data or manipulate the control, use the below code:
Here I am checking that at least one DropDownList item is selected out of all DropDownLists in the current webform.

bool isSelected = false;

foreach (System.Web.UI.Control ctrl in this.form1.Controls)
{

if (ctrl.GetType() == typeof(System.Web.UI.WebControls.DropDownList))
{
DropDownList ddl = (DropDownList)ctrl;

if (ddl.SelectedItem.Text != "")
{
isSelected = true;
break;
}
}

}

if (isSelected == true)
{
Response.Write("selected");
}
else
{
Response.Write("none selected");
}


Access your Asp.Net application over LAN

January 9, 2009

This post explains how to access some Asp.Net Application residing on another machine on network.

First of all you computer must be in the same workgroup as of the target computer. Then enter the following URL in the internet browser:

http://192.168.1.84/myWebsiteTest/default.aspx

or

http://ajay/myWebsiteTest/default.aspx

Here instead of ajay/192.168.1.84 you have to enter either the IP Address or the name of the computer on which asp.net application resides.

Just hit the enter key and you will see the output.

Happy Programing……..


MyBase in VB.Net is equal to base in C#

January 9, 2009

The Mybase object of VB.Net is similar to the base in C#.

So while using C# use “base” instead of “MyBase”.

Happy Programing……


Microsoft SQL Server DTS (Data Transformation Services) Import/Export Wizard Error

November 15, 2008

If you are facing problems in “Choose a destination” option while importing and exporting data using Microsoft SQL Server DTS (Data Transformation Services) Import/Export Wizard, specifically the error mentioned below then this post may be helpful for you to get it solved.

Error:
DTS Import/Export Error
Error Source: Microsoft OLD DB Provider for SQL Server
Error Description: [DBNETLIB][ConnectionOpen(Connect()).]SQL Server does not exist or access denied

DTS Error

Cause:
Inappropriate database drivers.

Solution:
In the Data Source combo-box
Select Microsoft ODBC Driver For SQL server
instead of
Microsoft OLE DB Provider For SQL server


Username Regex Validation

October 15, 2008

While accepting values from user you must validate the values because wrong values (like XSS attacks) can cause harm to your database and website.

Regex Code:
The Regular Expression below validates the username format.
^[a-zA-Z0-9_]{5,20}$

Scope:
So while creating a new user for a website you can validate the username string with the following business logic:
1) User name must be between 5 to 20 characters.
2) User name can have lowercase and uppercase characters.
3) User name can be alpha-numeric.
4) No special character allowed.

As you can see this is a very basic code to evaluate simple username for your website.
Implementation:

Asp.net HTML code:

<asp:TextBox ID=”txtRegex” runat=”server”></asp:TextBox>
<asp:Button ID=”btnValidate” runat=”server” Text=”Validate value” OnClick=”btnValidate_Click” />
<asp:Label ID=”lblResultRegex” runat=”server” Text=”"></asp:Label></div>

Asp.net Code Behind:

using System.Text.RegularExpressions;

protected void btnValidate_Click(object sender, EventArgs e)
{
    if (Regex.IsMatch(txtRegex.Text, @”^[a-zA-Z0-9_]{3,16}$”) == true)
    {
        lblResultRegex.Text = “username ok”;
    }
    else
    {
        lblResultRegex.Text = “username invalid”;
    }
}

Now just run the application an verify the results.

To download a visual studio source code visit http://dotnetcoderoom.blogspot.com/2008/10/username-regex-validation.html


How to get user’s IP address using asp.net

October 3, 2008

Many times we need to get the current user’s / visitor’s Ip address.

Sometimes this is essential for security reasons.
We must leg the user’s IP address in the following situations:

1) where you accept data from user, like guestbook newsletter, search page etc. This gives a plus point to the security of website, as you can get the user’s identity by his IP if he do something wrong with your website.

2) User login pages. Alwayskeep record the logins of website users. Record the datetime and IP of user.

If you want to blok some particular users to use your website then on page load just ckeck the current Ip against database of ip’s you have created for blacklisting.
Now coming to the point,
How to get user’s IP address using asp.net

HttpContext.Current.Request.UserHostAddress;
or
HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

The above code may return the IP with proxy.

Use the below code to get the IP address of the machine and not the proxy use the following code
HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];



Using RequiredFieldValidator with DropdownList Asp.Net

September 29, 2008

You may have used RequiredFieldValidator with Text controls, but if you wnat to use it with DropDownList controls, you need to do some little extra work. Here is the trick.

Step 1: Create an DropDownList

Step 2: Drag and RequiredFieldValidator. Set it’s ControlToValidate property to the DropDownLis’s object.

Step 3: Fill some items in the DropDownList. Add a first item as “Select”. This will indicate the user that he should select an option.

Step 4: Now set the RequiredFieldValidator’s “InitialValue” property to “Select”.

Now all of your code should look like this :

<asp:DropDownList ID=”cmbCountry” runat=”server”>
<asp:ListItem>Select</asp:ListItem>
<asp:ListItem>India</asp:ListItem>
<asp:ListItem>USA</asp:ListItem>
<asp:ListItem>Canada</asp:ListItem>
</asp:DropDownList>

<asp:RequiredFieldValidator ID=”rqCountry” runat=”server” ErrorMessage=”*” SetFocusOnError=”True” ControlToValidate=”cmbCountry” InitialValue=”Select”></asp:RequiredFieldValidator>

Now you are all set  to go and test it.

To read complete post and source code please visit dotnetcoderoom.blogspot.com


Show line breakes in Asp.net Label

September 17, 2008

To show line breakes in a server side asp.net label, you can either use a HTML formatted text or a plain text.

HTML formatted text contains “<br>” tags so while rendring the control .net framework handles the task to show the proper html formatted text into a Label.

Example:
lblDescription.Text=”name <br>description”;
The above code will display a line gap between name and description.
But in case if user inputted data using a non-html enabled textbox then it is a point of problem.

While displaying data, inputted by simple multiline textbox, line breaks looses its state and when the data displayed on a  label it looks like a simple constant text line.  Interestingly if you try to show the same data back in a textbox it will look nice with proper line breaks. But we can’t use textbox every where because of designing requirements.

To keep the line breaks you must convert the html new line special indicator to HTML break “<br>” tag.

Solution:
lblDescription.Text = txtInput.Text.ToString().Replace(Environment.NewLine, “<br />”);

The above code replaces the “NewLine” indications to “<br>” at run time, and displays the data same as input formatting.

For demo source code visit
http://dotnetcoderoom.blogspot.com/2008/09/show-line-breakes-in-aspnet-label.html


What is RSS feed

September 11, 2008

Really Simple Syndication (RSS) feeds are XML files which are provided by websites so you can view their contents on other website rather than browsing their site. Basically it’s an information sharing process having some specified
content format of text and related links.

Example:

I have a blog and you want to show the my Blog’s content on your website.
So what i have to do is to create a RSS of my blog content and give RSS generation page link to you.
The RSS page will generate an XML based on content I want to write in the file.

You have to consume that XML into your website and show the content.

These days nearly all blog websites provides their own RSS consuming applications, so you don’t have to bother about it if you are using a public web portal like orkut, WordPress, Blogspot etc.

Wait for a new post for reading and writing RSS applications.


Send e-mail in ASp.Net 2.0 and onwards in C#

September 6, 2008

The following code example can be used to send email using Asp.Net in 2.0 and higher versions version.

The Namespace of email class is changed to System.Net.Mail from System.Web.Mail.

Import the System.Net.Mail Namespace
using System.Net.Mail;

Code:

MailMessage mail = new MailMessage();
mail.From = new MailAddress(“info@yourDomain.com”,”Alert”);
mail.To.Add(“you@yourdomain.com”);
mail.Subject = “mail test”;
mail.IsBodyHtml = true;
mail.Body = “Your message here”;
SmtpClient smtp = new SmtpClient(“mail.yourdomain.com”);
smtp.Credentials = new System.Net.NetworkCredential(“info@yourdomain.com”,”password of this info”);
smtp.Send(mail);

Note:
The email address specified in the “FROM” field must be valid and it need to be of your domain.
In the SmtpServer the domain name must be same as of your domain on which website is hosted.

For complete source code visit
http://dotnetcoderoom.blogspot.com


Send e-mail using Asp.Net 1.1

September 6, 2008

The following code example can be used to send email using Asp.Net in 1.1 version.

First import Web.Mail namespace.
using System.Web.Mail;

Now add this code to your button click event:

MailMessage mail = new MailMessage();

String msgText = string.Empty;
msgText = “Message here, you can also use Html tags for Rich Text Formatting.<br>Hi.”;

mail.To = “you@yourdomain.com”;
mail.CC = “anyEmailAddress, its optional”;
mail.Bcc = “anyEmailAddress, its optional”;
mail.From = @”"”Ajay”" <info@yourdomain.com>”;
//mail.From = “info@yourdomain.com”;
mail.Subject = “Mail test”;
mail.BodyFormat = MailFormat.Html;
mail.Body = msgText;
SmtpMail.SmtpServer = “mail.yourdomain.com”;

SmtpMail.Send(mail);

Note:

The email address specified in the “FROM” field must be valid and it need to be of your domain.
In the SmtpServer the domain name must be same as of your domain on which website is hosted.