Friday, October 29, 2010

add edit and delete xml item using XPath and xmlnode

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns=false onrowcommand="GridView1_RowCommand" PageSize=20 AllowPaging=true Width="80%" >
<Columns>

<asp:TemplateField HeaderText="Sno.">
<ItemTemplate>
<%#Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Project Name">
<ItemTemplate>
<%#Eval("ProjectName") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Client Name">
<ItemTemplate>
<%#Eval("ClientName") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Images">
<ItemTemplate>
<img src="../<%#Eval("ThumbImage") %>" width=100 height=100 border=0 />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Action" >
<ItemTemplate>
<asp:LinkButton ID="lnklink" Text="Edit" runat="server" CommandName="Edit" CommandArgument='<%#Eval("ProductId") %>' ></asp:LinkButton>
<asp:Button ID="Button2" runat="server" Text="Delete" CommandName="Del" CommandArgument='<%#Container.DataItemIndex%>' />

</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Xml;
using System.Web.UI.WebControls;

public partial class cpanel_Add_Project : System.Web.UI.Page
{
string Id
{
get
{
if (ViewState["Id"] == null)
return "";
else
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
DataSet Table
{
get
{
if (ViewState["Table"] == null)
return new DataSet();
else
return (DataSet)ViewState["Table"];
}
set
{
ViewState["Table"] = value;
}
}
string ThumbImage
{
get
{
if (ViewState["ThumbImage"] == null)
return "";
else
return (string)ViewState["ThumbImage"];
}
set
{
ViewState["ThumbImage"] = value;
}
}

protected void Page_Load(object sender, EventArgs e)
{


if (!string.IsNullOrEmpty(Request.QueryString["id"]))
{
Id = Convert.ToString(Request.QueryString["id"]);
}
if (!IsPostBack)
{

BindData();

}

}
class ClsProducts
{
string _ProductId = string.Empty;

public string ProductId
{
get { return _ProductId; }
set { _ProductId = value; }
}
string _projectName = string.Empty;

public string ProjectName
{
get { return _projectName; }
set { _projectName = value; }
}
string _clientName = string.Empty;

public string ClientName
{
get { return _clientName; }
set { _clientName = value; }
}
string _thumbImage = string.Empty;

public string ThumbImage
{
get { return _thumbImage; }
set { _thumbImage = value; }
}
}
private void BindData()
{
XmlDocument item = new XmlDocument();

item.Load(Server.MapPath("~/") + "projects.xml");

XmlNodeList itemdata = item.SelectNodes("//projects/project");
if (itemdata != null)
{
List<ClsProducts> itemProduct = new List<ClsProducts>();
for (int n = 0; n < itemdata.Count; n++)
{
ClsProducts obj = new ClsProducts();
obj.ProductId = itemdata.Item(n).ChildNodes.Item(0).InnerText;
obj.ProjectName = itemdata.Item(n).ChildNodes.Item(1).InnerText;
obj.ClientName = itemdata.Item(n).ChildNodes.Item(2).InnerText;
obj.ThumbImage = itemdata.Item(n).ChildNodes.Item(3).InnerText;
itemProduct.Add(obj);

}
GridView1.DataSource = itemProduct;
GridView1.DataBind();
}
if (Id != "")
{
XmlNode xlist = item.SelectSingleNode("//projects/project[projectID=" + Id + "]");
if (xlist != null)
{
txtProjectName.Value = xlist.ChildNodes.Item(1).InnerText;
txtprojectClient.Value = xlist.ChildNodes.Item(2).InnerText;
ThumbImage = xlist.ChildNodes.Item(3).InnerText;
Image1.ImageUrl = "../" + ThumbImage;
}
else
{
Image1.Visible = false;
}
}
else
{
Image1.Visible = false;
}
}
protected void btnImage_Click(object sender, ImageClickEventArgs e)
{
if (UpThumbImage.HasFile)
{
string filename = DateTime.Now.ToString("MMddyyyyHHmmss") + UpThumbImage.FileName;
string location = Server.MapPath("~/images/thumbnails/") + filename;
UpThumbImage.PostedFile.SaveAs(location);
ThumbImage = "images/thumbnails/" + filename;
}
else
{
if (ThumbImage.Length == 0)
{
WebUtility.PageAlert(Page, "Please Upload Images!");
return;
}
}
XmlDocument item = new XmlDocument();

item.Load(Server.MapPath("~/") + "projects.xml");
if (Id!="")
{

XmlNode xlist = item.SelectSingleNode("//projects/project[projectID=" + Id + "]");
if (xlist != null)
{
xlist.ChildNodes.Item(1).InnerText = txtProjectName.Value;
xlist.ChildNodes.Item(2).InnerText = txtprojectClient.Value;
xlist.ChildNodes.Item(3).InnerText = ThumbImage;
item.Save(Server.MapPath("~/") + "projects.xml");
}

}
else
{
XmlNodeList xlist1 = item.SelectNodes("//projects/project");
string xmlvalue=""
+ "<projectID>" + DateTime.Now.ToString("MMddyyHHmmss")+ "</projectID>" +
"<projectName>"+txtProjectName.Value+"</projectName>"+
"<projectClient>"+txtprojectClient.Value+"</projectClient>"+
"<imagethumb>"+ThumbImage+"</imagethumb>"+
"";
XmlNode newnode = item.LastChild.FirstChild.Clone();

newnode.InnerXml = xmlvalue;
item.LastChild.AppendChild(newnode);
item.Save(Server.MapPath("~/") + "projects.xml");
}
BindData();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
Response.Redirect("Add-Project.aspx?id=" + e.CommandArgument.ToString());
}
else if (e.CommandName == "Del")
{
XmlDocument item = new XmlDocument();
int n = Convert.ToInt32(e.CommandArgument.ToString());
item.Load(Server.MapPath("~/") + "projects.xml");
XmlNodeList xlist = item.SelectNodes("//projects/project");
xlist.Item(n).ParentNode.RemoveChild(xlist.Item(n));
item.Save(Server.MapPath("~/") + "projects.xml");

WebUtility.PageAlert(Page, "Delete Product successfully", "Add-Project.aspx");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<projects>
<project>
<projectID>4</projectID>
<projectName>project 4</projectName>
<projectClient>client 4</projectClient>
<imagethumb>images/thumbnails/4.jpg</imagethumb>
</project>
<project>
<projectID>5</projectID>
<projectName>project 5</projectName>
<projectClient>client 5</projectClient>
<imagethumb>images/thumbnails/5.jpg</imagethumb>
</project>
<project>
<projectID>6</projectID>
<projectName>project 6</projectName>
<projectClient>client 6</projectClient>
<imagethumb>images/thumbnails/6.jpg</imagethumb>
</project>
<project>
<projectID>7</projectID>
<projectName>project 7</projectName>
<projectClient>client 7</projectClient>
<imagethumb>images/thumbnails/7.jpg</imagethumb>
</project>
<project>
<projectID>102310214626</projectID>
<projectName>Rishabh Sharma</projectName>
<projectClient>Rishabh client</projectClient>
<imagethumb>images/thumbnails/10232010214626client5.png</imagethumb>
</project>
</projects>

Monday, October 18, 2010

Add confirm box on button click using C#

public static void ButtonAddConfirmation (WebControl control,string message )
{
control.Attributes.Add("onclick","if (confirm('" +message +"')){}else {return false}");
}

Tie button to textbox control

public static void TieButton(Page page,Control TextBoxToTie,Control ButtonToTie )   
     {                       
     string JsScript = "";
 if (ButtonToTie is LinkButton)            
{    JsScript = "if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) 
{"+ page.ClientScript.GetPostBackEventReference( ButtonToTie, "" ).Replace( ":", "$" ) + ";
return false;} else return true;";            
}            
else if (ButtonToTie is ImageButton)
 {  JsScript = "if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) 
{"+ page.ClientScript.GetPostBackEventReference( ButtonToTie, "" ).Replace( ":", "$" ) + ";return false;} 
else return true;";            
}            
else            
{                
JsScript = "if ((event.which && event.which == 13) || "+ "(event.keyCode && event.keyCode == 13)) 
{document."+ "forms[0].elements['"+ ButtonToTie.UniqueID.Replace( ":", "_" ) + "'].click();return false;
} else return true; ";            
} 
if (TextBoxToTie is HtmlControl)            
{ ((HtmlControl) TextBoxToTie).Attributes.Add( "onkeydown", JsScript );            
}            
else if (TextBoxToTie is WebControl)            
{                
((WebControl) TextBoxToTie).Attributes.Add( "onkeydown", JsScript );            
}        
}

Friday, October 15, 2010

Post Data using HttpWebRequest

public static string PostData(string url, string data, string contentType)
{
string result = "";
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "POST";
objRequest.ContentLength = data.Length;
objRequest.ContentType = contentType;
using (StreamWriter myWriter = new StreamWriter(objRequest.GetRequestStream()))
{
myWriter.Write(data);
}
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
result = sr.ReadToEnd();
}
return result;
}
public static string PostData(string url, string data)
{
return PostData(url, data, "application/x-www-form-urlencoded");
}

Filter Rows from DataTable Using Filter


public static DataTable FilterRows(DataTable source)
{ string root = parentID;
DataTable result = source.Clone();
string filter = "CategoryID = '" + root + "'";
DataRow[] rows = source.Select(filter);
foreach (DataRow row in rows)
{
result.ImportRow(row);
}
return result;
}

Get record in specific range from DataTable

public static DataTable CopyTableRows(
DataTable source, int startIndex, int endIndex )
{
DataTable result = source.Clone();
for (int i = startIndex; i <= endIndex && i < source.Rows.Count; i++)
{
result.ImportRow( source.Rows[i] );
}
return result;
}
AJAX, asp, Asp.net, asp.net and sql server security, Asp.net IntemIndex, C#, Css, DataBinder.Eval, DataKeyNames, Datalist, Datapager, DataSet, DataTable, DropDownList, FindControl, gridview, JavaScript, jquery, Listview, Paging, Regex, RegularExpression, Repeater, Server side validation, Sql Server, timer, timercallback, Validation, XML, xmlnode, XPath