Friday, February 12, 2010

Flying with WCF and Jquery in asp.net

Hai guys,
   Just started to use WCF and Jquery with one of my application it looks really awesome.... No postbacks,No server controls,No events only ajax stuff..... Soon the site will be up and running .....

Some of the useful links for WCF undefined errors,

http://weblogs.asp.net/scottgu/archive/2007/04/11/public-hotfix-patch-available-for-asp-net-compilation-issues.aspx

http://www.west-wind.com/weblog/posts/306990.aspx

http://www.hanselman.com/blog/PermaLink,guid,d88f7539-10d8-4697-8c6e-1badb08bb3f5.aspx

http://blogs.msdn.com/isha/archive/2009/04/04/issues-with-wcf-service-when-the-asp-net-website-is-deployed-using-the-web-deployment-project-and-as-non-updatable-project.aspx


In aspx page:


function GetDesignation() {
Service.GetDesignationData(onGetDataSuccess);
}
function onGetDataSuccess(result) {
DesignationDatatable(result);
addclick();
}
function InsertDesignation() {
Service.SetDesignationInsertData($("#TxtDesigName").val(), $("#TxtDescription").val());
Service.GetDesignationData(OnInsertSuccess);
}
function OnInsertSuccess(result) {

Service.GetDesignationData(onGetDataSuccess);

}

$(document).ready(function() {
GetDesignation();
HideDiv();
});

function addclick() {
$("#submitt").click(function(event) {
$("#datatable").fadeIn(7000);
$("#ImageButtonDiv").show();
$("#adddiv").hide('slow');
});

}

// function add1click() {
$("#add1").click(function(event) {
$("#ImageButtonDiv").hide('slow');
$("#datatable").hide('slow');
$("#adddiv").fadeIn(000);
});


}


Service.cs:

[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service
{
IDesignationController _designationController;
// Add [WebGet] attribute to use HTTP GET
[OperationContract]
public string GetDesignationData()
{
DataSet dt = GetDesignationViewData();
return GetJSONString(dt.Tables[0]);
}
public string GetJSONString(DataTable Dt)
{
string[] StrDc = new string[Dt.Columns.Count];
string HeadStr = string.Empty;
for (int i = 0; i < Dt.Columns.Count; i++) { StrDc[i] = Dt.Columns[i].Caption; HeadStr += "\"" + StrDc[i] + "\" : \"" + StrDc[i] + i.ToString() + "¾" + "\","; } HeadStr = HeadStr.Substring(0, HeadStr.Length - 1); StringBuilder Sb = new StringBuilder(); Sb.Append("{\"" + Dt.TableName + "\" : ["); for (int i = 0; i < Dt.Rows.Count; i++) { string TempStr = HeadStr; Sb.Append("{"); for (int j = 0; j < Dt.Columns.Count; j++) { if (Dt.Rows[i][j].ToString().Contains("'") == true) { Dt.Rows[i][j] = Dt.Rows[i][j].ToString().Replace("'", ""); } TempStr = TempStr.Replace(Dt.Columns[j] + j.ToString() + "¾", Dt.Rows[i][j].ToString()); } Sb.Append(TempStr + "},"); } Sb = new StringBuilder(Sb.ToString().Substring(0, Sb.ToString().Length - 1)); Sb.Append("]}"); return Sb.ToString(); } public DataSet GetDesignationViewData() { try { string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString; return SqlHelper.ExecuteDataset(connectionString, CommandType.StoredProcedure, DataTemplate.spDesignation_View); } catch (Exception err) { throw err; } } [OperationContract] public bool SetDesignationInsertData(string name,string description) { try { string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString; SqlParameter[] _spParams = new SqlParameter[3]; _spParams[0] = new SqlParameter(DataTemplate.paramName, name); _spParams[1] = new SqlParameter(DataTemplate.paramDescription, description); _spParams[2] = new SqlParameter(DataTemplate.paramCreatedDate, System.DateTime.Now); if (SqlHelper.ExecuteNonQuery(connectionString, CommandType.StoredProcedure, DataTemplate.spDesignation_Create, _spParams) > -2)
{
return true;
}
else
{
return false;
}
}
catch (Exception err)
{
throw err;
}

}
// Add more operations here and mark them with [OperationContract]
}

No comments:

Post a Comment