////// Convert the xml string into a DataSet object /// /// The xml string to convert ///The DataSet instance public DataSet ConvertXmlToDataSet(string xml) { using (StringReader reader = new StringReader(xml)) { using (XmlTextReader xmlReader = new XmlTextReader(reader)) { DataSet dataSet = new DataSet(); dataSet.ReadXml(xmlReader); return dataSet; } } } ////// Converts a DataSet into an xml string representation /// /// The DataSet to convert ///The xml string representation of the DataSet public string ConvertDataSetToXml(DataSet dataSet) { using (StringWriter writer = new StringWriter()) { using (XmlTextWriter xmlTextWriter = new XmlTextWriter(writer)) { dataSet.WriteXml(xmlTextWriter); return writer.ToString(); } } }
Thursday, 27 November 2008
Convert XML to a DataSet and visa versa in C#
Simple... but for my own reference:
Friday, 7 November 2008
JQuery and ASP.NET Ajax ready and pageLoad Solution
I had a problem the other day with the JQuery ready function not firing on an Aspc post back. I found this useful article
The problem seems to be that the jQuery ready function is not called on an async postback. The pageLoad() ASP.NET ajax method is called however.
It seems that ASP.NET ajax and jQuery don’t get along together when it comes to the DOM load event, and ASP.NET ajax takes preference to the jQuery ready function.
So in short replace all jQuery: $(document).ready() instances in your code with function pageLoad(). This I think is a more elegant solution then intercepting the end_request event and altering the master page.
The problem seems to be that the jQuery ready function is not called on an async postback. The pageLoad() ASP.NET ajax method is called however.
It seems that ASP.NET ajax and jQuery don’t get along together when it comes to the DOM load event, and ASP.NET ajax takes preference to the jQuery ready function.
So in short replace all jQuery: $(document).ready() instances in your code with function pageLoad(). This I think is a more elegant solution then intercepting the end_request event and altering the master page.
Wednesday, 5 November 2008
Generic function to obtain data from a DataRow
Sometimes it may be useful to have one generic function that can parse data from a DataRow column into the type you require.
For example: Perhaps you have an Employee object with the properties Id, Name and Salary, of types int, string and decimal.
Here is an example of some code to populate a list of Employee objects using a generic function.
For example: Perhaps you have an Employee object with the properties Id, Name and Salary, of types int, string and decimal.
Here is an example of some code to populate a list of Employee objects using a generic function.
public void LoadData() { IListemployees = new List (); DataTable result = // Get data from SP foreach (DataRow row in result.Rows) { Employee employee = new Employee(); employee.Id = GetColumnData<int>("EMP_ID", row, null); employee.Name = GetColumnData<string>("EMP_NAME", row, "Unknown"); employee.Salary = GetColumnData<decimal>("EMP_SALARY", row, null); employees.Add(employee); } } /// /// Gets data from a column checks it can convert it correctly if no data or invalid casting the default /// value is returned /// ///The type of data to convert too /// The name of the column in the row /// The row containing the data /// The default value ///The data or the default value public static T GetColumnData<T>(string columnName, DataRow row, object defaultValue) { if (row.Table.Columns.Contains(columnName) && row[columnName] != DBNull.Value) { string value = row[columnName].ToString(); TypeConverter converter = TypeDescriptor.GetConverter(typeof(T)); object result = converter.ConvertFromString(value); try { return (T)result; } catch (InvalidCastException) { return (T)defaultValue; } } else { return (T)defaultValue; } }
Monday, 3 November 2008
TryParse functionality on Generic objects
John Liu has a nice code snippet on implementing the TryParse functionality on generic objects.
Subscribe to:
Posts (Atom)