ASP.NET , C# - Configuring to use XML to display error and validation message
Step 1 - Add XML file to store error and validation message.
Below is sample of ErrorMessage.xml :
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="NoMatchingRecord" value="No Matching Records Found"/>
<appSettings>
Below is sample of ValidationMessage.xml :
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="EndDateGreaterthanStartDate" value="End Date should be greater than Start Date"/>
</appSettings>
If more error or validation message need to be added then add it to ErrorMessage.xml or ValidationMessage.xml with key and value pair. Also , make sure key is unique and not repeated in XML file. You can also add more XML files if needed
Step 2 - Add below key in appSettings section of Web.config file
<appSettings>
<add key="ErrorMessage" value="D:\Config\ErrorMessage.xml"></add>
<add key="ValidationMessage" value="D:\Config\ValidationMessage.xml"></add>
</appSettings>
Above keys are added which contains path of XML file as key value
Step 3 - Add a Class file and name it to CustomMessage.cs . Add below code in Custom Message.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
////// <summary> Summary description for CustomMessage/// </summary>
public class CustomMessage{
System.Xml.XmlDocument doc;
{
}
public CustomMessage(String FileName)
{
doc = new XmlDocument();
doc.Load(FileName);
}
/// <summary>/// To get value from XML file at specified location./// </summary>/// <param name="TagName"></param>/// <returns></returns>
public string GetMessageValue(string TagName)
{
string ConstString = string.Empty;
try
{
//Get Connection path from XML file
XmlNodeList elemList = doc.GetElementsByTagName("add");
for (int i = 0; i < elemList.Count; i++)
{
string KeyName = elemList[i].Attributes["key"].Value;
if (KeyName == TagName)
{
ConstString = elemList[i].Attributes["value"].Value;
}
}
}
catch (Exception ex)
{
}
return ConstString;
}
}
CustomMessage class contains a public constructor which accepts FileName as input paramter and load the XML file into XMLDocument.
CustomMessage class also contains a method GetMessageValue which takes key as input parameter and returns value of key.
Step 4 - Final step is to consume the CustomMessage class to display appropriate message. Below is code in calling aspx or cs file :
string errorFile = ConfigurationManager.AppSettings.Get("ErrorMessage").ToString();
CustomMessage objCustomMessage = new CustomMessage(errorFile);
this.lblError.Text = objCustomMessage.GetMessageValue("NoMatchingRecord");
Line 1 is used to get path of ErrorMessage.xml
Line 2 is used to call Custom message class constructor to load XML file into XMLDocument
Line 3 is used to get value of error message key by passing key to CustomMessage method GetMessageValue
string validationFile = ConfigurationManager.AppSettings.Get("ValidationMessage").ToString();
CustomMessage objCustomMessage = new CustomMessage(validationFile);this.lblValidation.Text = objCustomMessage.GetMessageValue("EndDateGreaterthanStartDate");
Line 1 is used to get path of ValidationMessage.xml
Line 2 is used to call Custom message class constructor to load XML file into XMLDocument
Line 3 is used to get value of validation message key by passing key to CustomMessage method GetMessageValue
No comments:
Post a Comment