Friday, August 27, 2010

Load Controls Dynamically in ASP.NET

Good Example...!!


load-controls-dynamically-in-asp-net

Thursday, August 26, 2010

ADO.NET Entity (EDMX) : Insert Update and Delete with Relationship






Here I will use a database created by me. There will be two tables connected with each other.

image

Now I will create TestDB.edmx out of this database.

image



Insert

using (TestDBEntities ctx = new TestDBEntities())

{

//Create new Department

Dept d = new Dept() { DeptName = "ADO Entity" };

//Create new Employee 1

EmpDept ed1 = new EmpDept() { EmpName = "ADO Employee 1" };

//Create new Employee 2

EmpDept ed2 = new EmpDept() { EmpName = "ADO Employee 2" };

//Add employee to the Dept *OBJECT*

d.EmpDept.Add(ed1);

d.EmpDept.Add(ed2);

//Updating the context

ctx.AddToDept(d);

//Save to Database

ctx.SaveChanges();

}

Update

using (TestDBEntities ctx = new TestDBEntities())

{

//Get an existing Department

Dept dep = (from d in ctx.Dept

where d.DeptId == 22

select d).First();

//Set new Department name

dep.DeptName = "ADO.NET 3.0";

//Create new Employee 2

EmpDept ed2 = new EmpDept() { EmpName = "ADO 2" };

//Add *new* employee to the Dept *OBJECT*

dep.EmpDept.Add(ed2);

//Save to Database

ctx.SaveChanges();

}

Delete

using (TestDBEntities ctx = new TestDBEntities())

{

//Get an existing Department

Dept dep = (from d in ctx.Dept.Include("EmpDept")

where d.DeptId == 22

select d).First();

/*

Needd to do ToList() becuase once you delete

a record then iteration will not be possible.

*/

foreach (EmpDept ed in dep.EmpDept.ToList())

{

//This removes relationship from Context

dep.EmpDept.Remove(ed);

//Delete it from context

ctx.DeleteObject(ed);

}

//Delete the master table

ctx.DeleteObject(dep);

//Save to Database

ctx.SaveChanges();

}


Saturday, August 21, 2010

Using ImageUrl in sitemap for menu

For example, you could have:

The imageUrl property shown here is a custom attribute and gets added to the attributes of the SiteMapNode, which can be accessed within the MenuItemDataBound event; this is called for every menu item as it's bound to the underlying siteMapData. So you could have this:

protected void menu1_MenuItemDataBound(object sender, MenuEventArgs e)
{
SiteMapNode node = e.Item.DataItem as SiteMapNode;

if (!string.IsNullOrEmpty(node["imageUrl"]))
e.Item.ImageUrl = node["imageUrl"];
}

To access the attributes you just index into the default collection on the SiteMapNode.

the advantage of this approach is twofold; you don't pollute your title with HTML hacks, and you keep the image data as a separate item, alongside the other site map data.

Friday, August 6, 2010

Convert only first letter of a sentence to uppercase


public
static string Capitalize(string input)
{
if(string.IsNullOrEmpty(input)) return string.Empty;
return input.Substring(0, 1).ToUpper() + input.Substring(1).ToLower();
}