Friday, September 18, 2009

ASP.Net ല്‍ കൂടി ഇമെയില്‍ അയിക്കുന്ന രീതി:: send email in asp.net


CONTACT US പേജില്‍കൂടി ഒരു ഇമെയില്‍ ഐഡിയിലേക്ക് മെയിലുകള്‍ അയിക്കുന്ന പ്രോഗ്രാമാണ് താഴെ കൊടുക്കുന്നത്

താഴെകാണുന്ന രീതിയില്‍ ഒരു ഫോം ഡിസൈന്‍ ചെയ്യുക.
ഫോം ഡിസൈല്‍ ചെയ്യുമ്പോള്‍ താഴെപറയുന്ന കാര്യങ്ങള്‍ ശ്രദ്ധിക്കുക.

1. വാലിഡേഷന്‍ കണ്‍‌ട്രോളുകളുടെ പ്രോപ്പര്‍ട്ടിയിലെ Display : None ആക്കി കൊടുക്കുക.
2. വാലിഡേഷന്‍ കണ്‍‌ട്രോളുകളുടെയും മാന്‍ഡേറ്ററി ഫീല്‍ഡുകളുടേയും സബ്‌മിറ്റ് ബട്ടണിന്റേയും പ്രോപ്പര്‍ട്ടിയില്‍ Validation Group : 1 ആക്കി കൊടുക്കുക.
3. ValidationSummary പ്രോപ്പര്‍ട്ടിയില്‍ Show Message Box : True എന്നും Show Summary : False എന്നും കൊടുക്കുക.
4. മെസേജ് ടെക്സ്റ്റ് ബോക്സിന്റെ TextMode : MultiLine ആക്കുക.

:: കണ്‍‌ട്രോളുകള്‍ ::
1. txtName
2. RFValidatorName
ControlToValidate="txtName"
Display="None"
ErrorMessage="Name field is blank"
ValidationGroup="1"
3. TxtComName
4. txtEmail
5. RFValidatorEmail
ControlToValidate="txtEmail"
Display="None"
ErrorMessage="Email-ID field is blank"
ValidationGroup="1"
6. REValidatorEmail
ControlToValidate="txtEmail"
Display="None"
ErrorMessage="invalid email id"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" (Internet E-mail address select ചെയ്യുക)
ValidationGroup="1"
7. txtTelephone
8. RFValidatorPhNo
ControlToValidate="txtTelephone"
Display="None"
ErrorMessage="Phone Field is blank"
ValidationGroup="1"
9. REValidatorPhNo
ControlToValidate="txtTelephone"
Display="None"
ErrorMessage="only numbers for mobile number"
ValidationExpression="\d*" ( നമ്പരുകള്‍ മാത്രം എന്റെര്‍ ചെയ്യാന്‍ വേണ്ടി)
ValidationGroup="1"
10. txtMessage
11. RequiredFieldValidator1
ControlToValidate="txtMessage"
Display="None"
ErrorMessage="Message field is blank"
ValidationGroup="1"
12. lblMsg
13. ValidationSummary1
ShowMessageBox="True"
ShowSummary="False"
ValidationGroup="1"
14. btnSubmit
ValidationGroup="1"


:: കോഡ് വിന്‍ഡോ :: ContactUs.aspx.cs

താഴെപറയുന്ന നെയിംസ്പേസുകള്‍ ഉപയോഗിക്കുക.
using System.Net.Mail;
using System.Text;
using System.Collections.Generic;

:: ഇവന്റുകള്‍ ::

protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
int _port = Convert.ToInt32(ConfigurationManager.AppSettings["PORT"]);
MailService.clsMail m = new MailService.clsMail(ConfigurationManager.AppSettings["SMTP"], _port, ConfigurationManager.AppSettings["FROMEMAIL"],
ConfigurationManager.AppSettings["FROMPWD"]);
m.To = new System.Net.Mail.MailAddress(ConfigurationManager.AppSettings["TOEMAIL"]);
m.From = new System.Net.Mail.MailAddress(this.txtEmail.Text);
m.Subject = "Mail from My website";
m.Body += "NAME : " + this.txtName.Text + "
";
m.Body += "Company Name : " + this.TxtComName.Text + "
";
m.Body += "Email : " + this.txtEmail.Text + "
";
m.Body += "Phone Number : " + this.txtTelephone.Text + "
";
m.Body += "Message : " + this.txtMessage.Text + "
";
bool b = m.SendMail();
if (b == true)
{
this.lblMsg.Text = "Mail send successfully.";fieldsClear();
}
else
{
this.lblMsg.Text = "Mail sending failed.
Please try after some time.
We regret for the inconvenience.";
}
}
protected void btnClear_Click(object sender, EventArgs e)
{
fieldsClear();
}

:: മെതേഡ് ::
void fieldsClear()
{
txtName.Text = "";
TxtComName.Text = "";
txtEmail.Text = "";
txtTelephone.Text = "";
txtMessage.Text = "";
}



:: ക്ലാസ് നിര്‍മ്മാണം ::
btnSubmit ലെ കോഡ് കൊടുക്കുന്നതിനുമുമ്പ് MailService എന്ന നെയിംസ്പേസില്‍ clsMail എന്നൊരു ക്ലാസ് ഉണ്ടാക്കണം.

namespace MailService
{

public class clsMail
{

#region "Fields"

MailMessage Mail = null;
public MailAddress From = null;
public MailAddress To = null;
public MailAddress CC = null;
public MailAddress BCC = null;
public string Subject = "";
public string Host = "";
public int Port = 0;
public string UserName = "";
public string Password = "";
public string Body = "";

#endregion

#region "Constructors"

public clsMail(string _host, int _port, string _username, string _password)
{
this.Host = _host;
this.Port = _port;
this.UserName = _username;
this.Password = _password;
}

#endregion

#region "Method"

public bool SendMail()
{
Mail = new MailMessage();
SmtpClient smtp = new SmtpClient();
try
{
Mail.To.Add(this.To);
Mail.From = this.From;
Mail.Subject = this.Subject;
Mail.Body = this.Body;
Mail.IsBodyHtml = true;
smtp.Host = this.Host;
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential(this.UserName, this.Password);
smtp.EnableSsl = true;
smtp.Timeout = 50000;
smtp.Send(Mail);
return true;
}
catch (Exception ex)
{
return false;
}
}

#endregion

}

}



:: Web.Config ::
Web.Config file ല്‍ താഴെ പറയുന്ന കോഡ് appSettings ല്‍ കൊടുക്കണം.


smtp.gmail.com"/>
465"/>
gmailid@gmail.com"/>
gmailaccountpassword"/>
tomailid@yahoo.co.in"/>

ഏത് ജിമെയില്‍ അക്കൌണ്ടില്‍ നിന്നാണോ മെയില്‍ പോകേണ്ടത് ആമെയില്‍ ഐഡിയാണ് FROMEMAIL ല്‍ കൊടുക്കേണ്ടത്. ഈ മെയില്‍ ഐഡിയുടെ പാസ്‌വേര്‍ഡ് തന്നെ

FROMPWD ല്‍ കൊടുക്കണം. ഏത് മെയില്‍ അക്കൌണ്ടിലേക്കാണ് മെയില്‍ പോകേണ്ടത് ആ മെയില്‍ ഐഡി TOEMAIL ലിലും കൊടുക്കണം.

പ്രോഗ്രാമിന്റെ ഔട്ട് പുട്ട് :

പ്രോഗ്രാം വഴി അയിച്ച മെയില്‍ വരുന്നത് ഇങ്ങനെ :

Wednesday, July 29, 2009

Add or Insert Images into Gmail Messages : ജിമെയിലില്‍ ചിത്രങ്ങള്‍ ചേര്‍ക്കാന്‍

How to Add or Insert Images into Gmail Messages : ജിമെയിലില്‍ ചിത്രങ്ങള്‍ ചേര്‍ക്കാന്‍

ജി‌മെയിലില്‍ ചിത്രങ്ങള്‍ എങ്ങനെയാണ് കൊണ്ടുവരുന്നത്??. ജിമെയില്‍ മെസേജുകളില്‍ ചിത്രങ്ങള്‍ ചേര്‍ക്കാന്‍ വളരെ എളുപ്പമാണ്. ജിമെയിലില്‍ തന്നെ അതിനായി ഓപ്‌ഷന്‍ ഉണ്ട്. ഡിഫാള്‍ട്ട് ആയി ആ ഓപ്‌ഷന്‍ Disable ആണ്. അത് Enable ആക്കി കഴിഞ്ഞാല്‍ നിങ്ങള്‍ക്കും ജിമെയില്‍ മെസേജുകളുടെ കൂടെ ചിത്രങ്ങള്‍ അയക്കാം.

(Google Chrome ബ്രൌസറില്‍ നിങ്ങളുടേ Gmail തുറക്കുക)

സ്‌റ്റെപ് 1 : Settings എന്നൊരു റ്റാബ് കാണാം. അതില്‍ ക്ലിക്ക് ചെയ്യുക. (ചിത്രം 1)

(ചിത്രം 1)

സ്‌റ്റെപ് 2 : തുറന്നുവരുന്ന വിന്‍ഡോയിലെ (ചിത്രം 2) Labs എന്ന റ്റാബില്‍ ക്ലിക്ക് ചെയ്യുക.

(ചിത്രം 2)

സ്‌റ്റെപ് 3 : ഇപ്പോള്‍ നിങ്ങള്‍ക്ക് അന്‍‌പതോളം ഓപ്‌ഷനുകള്‍ കാണാന്‍ കഴിയും. അതിലെ Inserting images എന്ന ഓപ്‌ഷന്‍ Enable ആക്കുക. (ചിത്രം : 3)

(ചിത്രം : 3)

സ്‌റ്റെപ് 4 : Compose mail എടുക്കുക. അവിടെ കാണുന്ന മെനുവിന്റെ കൂടെ ഇപ്പോള്‍ ഇമേജ് ഇന്‍‌സേര്‍ട്ട് ചെയ്യാനുള്ള ടൂളും കാണാം. ( ചിത്രം 4)

( ചിത്രം 4)

സ്‌റ്റെപ് 5 : ഈ മെനുബട്ടണില്‍ ( Insert Image) താഴെകാണുന്ന രീതിയിലുള്ള (ചിത്രം 5) Add an Image വിന്‍‌ഡോ കാണാം. അതിലെ Choose File ബട്ടണ്‍ ഉപയോഗിച്ച് ചിത്രങ്ങള്‍ കമ്പ്യൂട്ടറില്‍ നിന്നോ സൈറ്റുകളില്‍ നിന്നോ സെലക്റ്റ് ചെയ്യാം.

(ചിത്രം 5)

സ്‌റ്റെപ് 6 : ഏത് ചിത്രമാണ് മെയിലിലേക്ക് വേണ്ടിയത് എന്ന് നോക്കി ആ ചിത്രം സെലക്റ്റ് ചെയ്തതിനു ശേഷം (ചിത്രം 6) Add Image ബട്ടണില്‍ ക്ലിക്ക് ചെയ്യുക.

(ചിത്രം 6)

സ്‌റ്റെപ് 7 : Add Image കൊടുത്ത ചിത്രം ഇപ്പോള്‍ മെയിലില്‍ കാണാന്‍ സാധിക്കും. (ചിത്രം 7) ഇങ്ങനെ ആവിശ്യമായ ചിത്രങ്ങള്‍ ചേര്‍ത്തതിനുശേഷം മെയില്‍ അയക്കാം.

(ചിത്രം 7)

ഏതെങ്കിലും ചിത്രങ്ങള്‍ ആവിശ്യമില്ലന്ന്‍ തോന്നിയാല്‍ ആ ചിത്രത്തോടൊപ്പം കാണുന്ന മെനു‌വിന്‍‌ഡോയിലെ (ചിത്രം 7) Remove എന്ന ബട്ടണ്‍ ഉപയോഗിച്ച് ആ ചിത്രത്തെ മെയിലില്‍ നിന്ന് നീക്കം ചെയ്യാം.

Saturday, July 25, 2009

മെയിലില്‍ ചിത്രങ്ങള്‍ :outlook configuration

: outlook configuration:

നിങ്ങളുടെ മെയില്‍ ബോക്‍സുകളില്‍ വരുന്ന മെയിലുകളില്‍ ചിലത് ചിത്രങ്ങള്‍ സഹിതം ആയിരിക്കും. അതുപോലുള്ള മെയില്‍ അയിക്കാന്‍ ആഗ്രഹവും ഉണ്ടായിരിക്കണം. പക്ഷേ മെയില്‍ കമ്പോസ് ചെയ്യുമ്പോള്‍ ചിത്രങ്ങള്‍ മെയിലിലേക്ക് അറ്റാച്ച് ചെയ്യിക്കാനല്ലാതെ ഇന്‍സേര്‍ട്ട് ചെയ്യാനുള്ള ഓപ്‌ഷനുകളൊന്നും കാണാത്തതുകൊണ്ട് എന്തെങ്കിലും സോഫ്‌റ്റ്‌വെയറുകളുടെ സഹായത്തോടെ ആയിരിക്കും ചിത്രങ്ങള്‍ മെയിലില്‍ ചേര്‍ക്കുന്നതെന്ന് കരുതി കൂടുതലൊന്നും അതിനെക്കുറിച്ച് ചിന്തിക്കാന്‍ മിനക്കെട്ടിട്ടില്ലായിരിക്കും. മൊക്രോസോഫ്റ്റ് ഔട്ട്‌ലുക്ക് (MS OUTLOOK) കോണ്‍ഫിഗര്‍ ചെയ്താല്‍ നിങ്ങള്‍ക്കും മെയിലില്‍ കൂടി ചിത്രങ്ങള്‍ അയക്കാം. ( ഔട്ട്‌ലുക്ക് കോന്‍ഫിഗര്‍ ചെയ്യുന്നത് പടങ്ങള്‍ മെയില്‍ വഴി അയക്കാന്‍ വേണ്ടിയല്ല. നിങ്ങള്‍ ഓഫ് ലൈനില്‍ ആയിരുന്നാലും നിങ്ങളുടെ ഇന്‍‌ബോക്സില്‍ എത്തുന്ന മെയിലുകള്‍ വായിക്കുക തുടങ്ങിയ സഹായമാണ് ഔട്ട്‌ലുക്ക് പ്രാഥമികമായി ചെയ്യുന്നത്. അതായത് ഒരു സ്റ്റോറേജ് മീഡിയ ആയി വര്‍ത്തിക്കുക എന്നുള്ളത്.)

ഇനി എങ്ങനെയാണ് ഔട്ട്‌ലുക്ക് കോണ്‍ഫിഗര്‍ ചെയ്യുന്നതെന്ന് നോക്കാം. yahoo മെയിലിനു വേണ്ടി എങ്ങനെയാണ് (yahoo.co.in) ഔട്ട്‌ലുക്ക് കോണ്‍ഫിഗര്‍ ചെയ്യുന്നതെന്ന് നോക്കാം.

സ്റ്റെപ് 1 : Tools മെനുവില്‍ നിന്ന് E-mail Accounts എന്ന സബ് മെനുവില്‍ ക്ലിക്ക് ചെയ്യുക. ക്ലിക്ക് ചെയ്യുമ്പോള്‍ താഴെകാണുന്ന രീതിയിലുള്ള ഒരു വിന്‍ഡോ കാണാം. (outlook1.jpg)

picture : outlook1.jpg

സ്റ്റെപ് 2 : അതില്‍ Add a new e-mail account എന്ന റേഡിയോ ബട്ടണ്‍ സെലക്റ്റ് ചെയ്തിട്ട് Next ബട്ടണില്‍ ക്ലിക്ക് ചെയ്യുക.

സ്റ്റെപ് 3 : Server Type എന്ന വിന്‍ഡോയിലേക്ക് എത്തുമ്പോള്‍ അഞ്ചു തരത്തിലുള്ള സെര്‍വര്‍ ലിസ്റ്റ് ചെയ്തിരിക്കുന്നത് കാണാം. അതില്‍ രണ്ടാമത്തെ സെര്‍വര്‍ ടൈപ്പില്‍ (POP3) സെലക്റ്റ് ചെയ്തതിനു ശേഷം NEXT ബട്ടണില്‍ ക്ലിക്ക് ചെയ്യുമ്പോള്‍ താഴെക്കാണുന്ന രീതിയിലുള്ള ഒരു വിന്‍ഡോ കാണാന്‍ കഴിയും. (outlook2.jpg).

picture : outlook2.jpg

സ്റ്റെപ് 4 : User Information :
Your Name : ഇവിടെ നിങ്ങളുടെ പേര് നല്‍ക്കുക
E-mail Address : ഇവിടെ നിങ്ങളുടെ ഇ-മെയില്‍ അഡ്രസ് നല്‍കുക
Logon Information :
User Name : ഈ മെയില്‍ അഡ്രസിന്റെ @ നു മുമ്പുള്ള ഭാഗം ഇവിടെ യൂസര്‍ നെയിമായി E-mail Address എന്റെര്‍ ചെയ്യുമ്പോള്‍ User Name ആയി ഇവിടെ കാണിക്കും
Password : ഇവിടെ നിങ്ങളുടെ ഇ-മെയില്‍ പാസ്‌വേര്‍ഡ് നല്‍കുക.
Server Infomation :
Incoming Mail Server (POP3) : pop.mail.yahoo.co.in
Outgoing mail Server (SMTP) : smtp.mail.yahoo.co.in
എന്നിങ്ങനെ പൂരിപ്പിക്കുക . ചിത്രം നോക്കുക (outlook3.jpg)


picture : outlook3.jpg

സ്റ്റെപ് 5 : മുകളിലെ ചിത്രത്തില്‍ നോക്കിയാല്‍ മോര്‍ സെറ്റിംങ്ങ് (More settings....) എന്ന റ്റാബ് കാണാം. അതില്‍ ക്ലിക്ക് ചെയ്യുമ്പോള്‍ നാലു റ്റാബുകളുള്ള ഒരു വിന്‍ഡോകാണാം.
a. General tab ല്‍ Mail account നു താഴെ pop.mail.yahoo.co.in എന്നു കാണാം. Other User Infomation ആവിശ്യമില്ല
b. രണ്ടാമത്തെ റ്റാബായ Outgoing Server ല്‍ ഒന്നാമത്തെ ചെക് ബോക്സും (My outgoing server (SMTP) requires authentication) , റേഡിയോ (Use same settings as my incoming mail server) ബട്ടണും സെലക്ട് ചെയ്യുക.
c. Connection എന്ന മൂന്നാമത്തെ റ്റാബില്‍ ഒരു മാറ്റവും വരുത്തേണ്ടതില്ല.
d. Advanced എന്ന നാലാമത്തെ റ്റാബില്‍
Incoming Server (POP3) : 110
Outgoing Server (SMTP): 25 നല്‍കുക.(ഡിഫാള്‍ട്ടായി ഇതു തന്നെ ആയിരിക്കും). ചിത്രം :outlook4.jpg


picture : outlook4.jpg

സ്റ്റെപ് 6 : മുകളില്‍ കാണിച്ചിരിക്കുന്ന വിന്‍ഡോയിലെ OK ബട്ടണ്‍ അടിക്കുമ്പോള്‍ (outlook3.jpg) എന്ന വിന്‍‌ഡോ കാണാം. ആ വിന്‍ഡോയിലെ Next ബട്ടണില്‍ ക്ലിക്ക് ചെയ്താല്‍ താഴെകാണുന്ന രീതിയിലുള്ള ഒരു വിന്‍ഡോ കാണാന്‍ സാധിക്കും. (outlook5.jpg).

picture : outlook5.jpg


FINISH ബട്ടണില്‍ ക്ലിക്ക് ചെയ്യുമ്പോഴേക്കും ഔട്ട്‌ലുക്ക് കോണ്‍ഫിഗര്‍ ആവും.


ഇനി മെയില്‍ അയിക്കുന്നത് എങ്ങനെയെന്ന് നോക്കാം....

സ്റ്റെപ് 1: ഔട്ട് ലുക്കിന്റെ File - New - Mail Message ല്‍ ക്ലിക്ക് ചെയ്യുമ്പോള്‍ ഒരു വേര്‍ഡ് ഫയല്‍ തുറന്നു വരും.
സ്റ്റെപ് 2: To... Cc ... Subject ഫീല്‍ഡുകള്‍ക്ക് താഴെ മാറ്ററിനു വേണ്ടിയുള്ള സ്ഥലം ഉണ്ട്. അവിടെ കര്‍സര്‍ വച്ചതിനു ശേഷം Insert മെനുവില്‍ നിന്ന് (outlook6.jpg) ചിത്രങ്ങള്‍ സെലക്റ്റ് ചെയ്താല്‍ ആ ചിത്രങ്ങള്‍ മാറ്ററിനു വേണ്ടിയുള്ള സ്ഥലത്ത് വരും.

picture : outlook6.jpg


സ്റ്റെപ് 3: ആവിശ്യമുള്ള ചിത്രങ്ങളും മെസേജുകളും ഇന്‍‌സേര്‍ട്ട്, ടൈപ്പ് ചെയ്തതിനു ശേഷം Send ബട്ടണില്‍ (മുകളിലെ ചിത്രം നോക്കുക) ക്ലിക്ക് ചെയ്യുക. നിങ്ങളുടെ മെയില്‍ സെന്‍ഡ് ആകുന്ന ഒരു ഇന്‍ഡിക്കേഷന്‍ കാണാന്‍ സാധിക്കും. മെയില്‍ സെന്‍ഡ് ആയതായി മെസേജ് കാണിക്കുകയും ചെയ്യും.

(ചിത്രങ്ങള്‍ മെയിലില്‍ കൂടി അയിക്കുക എന്നുള്ള കാര്യത്തിനു വേണ്ടി മാത്രമുള്ള വിവരങ്ങള്‍ മാത്രമാണ് മുകളില്‍ നല്‍കിയിരിക്കുന്നത്..... )

Friday, January 9, 2009

ഡേറ്റാഗ്രിഡ് സോര്‍ട്ടിംങ്ങ് : datagrid sorting

xml ഫയലില്‍ നിന്ന് ഡേറ്റാ എടുത്ത് ഡേറ്റാഗ്രിഡില്‍ ഡിസ്‌പ്ലേ ചെയ്യുമ്പോള്‍ എങ്ങനെയാണ് ഡേറ്റാ സോര്‍ട്ട് ചെയ്യുന്നത് എന്നുള്ള പ്രോഗ്രാം ആണ് താഴെക്കൊടുക്കുന്നത്. prayerrequest.xml എന്ന പേരില്‍ ഒരു xml ഫയല്‍ ഉണ്ടാക്കുന്നു.



[?xml version="1.0" encoding="utf-8"?]

[prayerrequest]

[requesters]

[name]shibu[/name]

[request]test data[/request]

[date]2002-Jan-03[/date]

[/requesters]
::

::

::

::

[/prayerrequest]


നോട്ട് : Xml ല്‍ [നു പകരം< എന്നും ] നു പകരം > എന്നും ഉപയോഗിക്കുക..

ഡേറ്റാഗ്രിഡിലേക്ക് ഡേറ്റാ സോര്‍ട്ട് ചെയ്യാനുള്ള കോഡ് താഴെ കൊടുക്കുന്നു.


{
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("prayerrequest.xml"));
DataView dv = new DataView();
dv = ds.Tables[0].DefaultView;
dv.Sort = "request desc";
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
}

ReadXml ഉപയോഗ്ഗിച്ച് Xmlനെ ഡേറ്റാസെറ്റിലേക്ക് എടുത്തതിനു ശേഷം അത് ഡേറ്റാവ്യുവിലേക്ക് മാറ്റുന്നു. dv.Sort = "request desc"; ലെ request ഫീല്‍ഡ് നെയിമും desc സോര്‍ട്ടിംങ്ങ് ഓര്‍ഡറും ആണ്.

ഈ പ്രോഗ്രാമിന്റെ ഔട്ട്പുട്ട് :

ഹിറ്റ് കൌണ്ടര്‍ : hit counter

വെബ് സൈറ്റില്‍ എത്ര ആളുകള്‍ സന്ദര്‍ശനം നടത്തി , ഒരു പ്രത്യേക പേജ് എത്ര ആളുകള്‍ കണ്ടു എന്ന് അറിയുന്നതിനു വേണ്ടിയാണ് ഹിറ്റ് കൌണ്ടറുകള്‍ ഉപയോഗിക്കുന്നത് . ഇവിടെ മൂന്നു രീതികളിലാണ് ഹിറ്റ് കൌണ്ടറുകള്‍ നിര്‍മ്മിച്ചിരിക്കുന്നത്.(ഇതില്‍ ഒന്നാമത്തെ രീതിയ്ക്ക് ഒരു പോരായ്മയുണ്ട് .അതൊരു വലിയ പോരായ്‌മ തന്നെയാണ് )





1. Global.asax ഫയല്‍ ഉപയോഗിച്ച്


2. Xml ഉപയോഗിച്ച്


3. SQL ഉപയോഗിച്ച്





ഏത് പേജില്‍ , എവിടെയാണ് ഹിറ്റ് കൌണ്ടര്‍ കാണിക്കേണ്ടത് , അവിടെ lbl_counter എന്ന പേരില്‍ ഒരു ലേബല്‍ വയ്ക്കുക.





1. Global.asax ഫയല്‍ ഉപയോഗിച്ച്
Global.asax ഫയല്‍ ഉപയോഗിച്ച് ഹിറ്റ് കൌണ്ടര്‍ നിര്‍മ്മിച്ചാല്‍ സിസ്റ്റം (സെര്‍വ്വര്‍) റിസ്റ്റാര്‍ട്ട് ആയിക്കഴിഞ്ഞാല്‍ Global.asax ഫയലില്‍ കൊടുത്തിരിക്കുന്ന വേരിയബളിന്റെ വില ആയിരിക്കും ഹിറ്റ് കൌണ്ടര്‍ നമ്പര്‍ ആയി വീണ്ടും വരുന്നത്. കാരണം ..Code in the global.asax is compiled when the web application is built for the first time. എന്താണ് global.asax ??The global.asax file is used to add applicatuon level logic and processing. The global.asax file resides in the root directory of an ASP.Net application.At run time ,global.asax is parsed and compiled into a dynamically generated .Net framework class derived from the HttpApplication base class.





Global.asax ഫയലിന്റെ


Application_Start ഭാഗത്ത് Application.Add("count",0); എന്നെഴുതുക.


Session_Start ല്‍ Application["count"] = Convert.ToString(Convert.ToInt32(Application["count"])+1); എന്നും എഴുതുക. (ചിത്രം കാണുക)





ഫോമിന്റെ പേജ് ലോഡില്‍ താഴെക്കാണുന്ന കോഡ് എഴുതുക :

lbl_counter.Text = Application["count"].ToString();






2. Xml ഉപയോഗിച്ച് :

ആദ്യം counter.xml എന്ന പേരില്‍ ഒരു xml നിര്‍മ്മിക്കുക.(ചിത്രം നോക്കുക)

പേജ് ലോഡില്‍ താഴെക്കാ‍ണുന്ന കോഡ് എഴുതുക .

{

XmlDocument xmldoc = new XmlDocument();

xmldoc.Load(Server.MapPath("counter.xml"));

DataSet ds = new DataSet();

ds.ReadXml(Server.MapPath("counter.xml"));

lbl_counter.Text = ds.Tables[0].Rows[0].ItemArray[0].ToString();

XmlNode xnode = xmldoc.SelectSingleNode("//counter/number");

xnode.InnerText = Convert.ToString(Convert.ToInt32(lbl_counter.Text) + Convert.ToInt32(1));

xmldoc.Save(Server.MapPath("counter.xml"));

}

3. SQL ഉപയോഗിച്ച് ::

number എന്ന കോളം മാത്രമായി counter എന്ന ടേബിള്‍ ആദ്യം നിര്‍മ്മിക്കുക. (Column Name : number ; Data Type : int)

പേജ് ലോഡില്‍ താഴെക്കാ‍ണുന്ന കോഡ് എഴുതുക

{

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=shibu;Integrated Security=True");

SqlDataAdapter ada = new SqlDataAdapter();

con.Open();

ada.SelectCommand = new SqlCommand("select number from counter", con); SqlDataReader sdr = ada.SelectCommand.ExecuteReader();
sdr.Read();

lbl_counter.Text= sdr.GetValue(0).ToString();

sdr.Close();

Int32 num = (Convert.ToInt32(lbl_counter.Text) + Convert.ToInt32(1));
//update the column

ada.SelectCommand = new SqlCommand("update counter set number=" + num + " where number=" + lbl_counter.Text + "", con);

ada.SelectCommand.ExecuteNonQuery();
con.Close();

}