Showing posts with label HTML. Show all posts
Showing posts with label HTML. Show all posts

Fileupload with validation, Download and Delete in Asp.net

Description:-

Here we will Check when we Upload file using File Upload Control in dot net and also we will check size of that file, type of file and if file selected or not when all condition successfully pass that whatever file we have selected for upload that file will upload in server. Here I have given download when you select file from Gridview then file download automatically and when you want delete file from server also you can delete as well.

Create table in Sql and Name it File_Mst.

CREATE TABLE [dbo].[File_Mst](
      [FileID] [bigint] IDENTITY(1,1) NOT NULL,
      [FileName] [varchar](50) NOT NULL,
      [FileType] [varchar](50) NOT NULL,
      [FileData] [varbinary](max) NOT NULL,
 CONSTRAINT [PK_File_Mst] PRIMARY KEY CLUSTERED
(
      [FileID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

Default.aspx:-

<div style="width: 400px; margin-left: 240px; margin-top: 90px;">
<table>
<tr>
  <td>
    <asp:FileUpload ID="FileUpload2" runat="server" />
  </td>
  <td>
    <asp:Button ID="btnFUClick" runat="server" Text="Button"OnClick="btnFUClick_Click" />
  </td>
</tr>
<tr>
  <td>
    <asp:Label ID="lblmessage" runat="server" />
  </td>
</tr>
</table>
</div>
<div style="width: 400px; margin-left: 240px; margin-top: 20px;">
  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <Columns>
      <asp:TemplateField HeaderText="File ID">
        <ItemTemplate>
          <asp:Label ID="lblfileID" runat="server" Text='<%#Eval("FileID") %>'></asp:Label>
        </ItemTemplate>
      </asp:TemplateField>
      <asp:TemplateField HeaderText="File Name">
        <ItemTemplate>
          <asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("FileName") %>' Height="30px" Width="50px" />
          <asp:LinkButton ID="lnkDownload1" Text='<%#Eval("FileName") %>' CommandArgument='<%# Eval("FileName") %>' runat="server" OnClick="DownloadFile"></asp:LinkButton>
        </ItemTemplate>
      </asp:TemplateField>
      <asp:TemplateField HeaderText="File Type">
        <ItemTemplate>
          <asp:Label ID="lblfiletype" runat="server" Text='<%#Eval("FileType") %>'></asp:Label>
        </ItemTemplate>
      </asp:TemplateField>
      <asp:TemplateField HeaderText="Action">
        <ItemTemplate>
          <asp:LinkButton ID="lnkDelete" Text="Delete"CommandArgument='<%# Eval("FileID") %>' runat="server" OnClick="DeleteFile" />
        </ItemTemplate>
      </asp:TemplateField>
      <%--<asp:TemplateField>
        <ItemTemplate>
          <asp:Label ID="lblfiledata" runat="server" Text='<%# Eval("FileData") %>'></asp:Label>
        </ItemTemplate>
      </asp:TemplateField>--%>
    </Columns>
  </asp:GridView>
</div>

Default.aspx.cs:-

protected void btnFUClick_Click(object sender, EventArgs e)
{
  if (FileUpload2.HasFile)
  {
    try
    {
      if (FileUpload2.PostedFile.ContentType == "image/jpeg" || FileUpload2.PostedFile.ContentType == "image/png")
      {
        if (FileUpload2.PostedFile.ContentLength < 102400)
        {
          string FileName = FileUpload2.FileName;
          string filename = "~/MyFiles/" +Path.GetFileName(FileName);
          string FileExt = Path.GetExtension(FileName);
          string filetype = string.Empty;
          Stream str = FileUpload2.PostedFile.InputStream;
          BinaryReader br = new BinaryReader(str);
          Byte[] size = br.ReadBytes((int)str.Length);
          FileUpload2.SaveAs(Server.MapPath("~/MyFiles/") + FileName);
          lblmessage.ForeColor = Color.Green;
          lblmessage.Text = "Upload status: File uploaded!";
          con = new SqlConnection(CS);
          cmd = new SqlCommand();
          cmd.CommandText = "insert into File_Mst(FileName,FileType,FileData) values(@Name,@Type,@Data)";
          cmd.Connection = con;
          //cmd.CommandType = CommandType.StoredProcedure;
          cmd.Parameters.AddWithValue("@Name", filename);
          cmd.Parameters.AddWithValue("@Type", FileExt);
          cmd.Parameters.AddWithValue("@Data", size);
          con.Open();
          cmd.ExecuteNonQuery();
          BindGridviewData();
        }
        else
        {
          lblmessage.ForeColor = Color.Red;
          lblmessage.Text = "Upload status: The file has to be less than 100 kb!";
        }
      }
      else
      {
        lblmessage.ForeColor = Color.Red;
        lblmessage.Text = "Upload status: Only JPEG files are accepted!";
      }
    }
    catch (Exception ex)
    {
      lblmessage.ForeColor = Color.Red;
      lblmessage.Text = "Upload status: The file could not be uploaded. The following error occured: " +ex.Message;
    }
  }
}

private void BindGridviewData()
{
  using (con = new SqlConnection(CS))
  {
    using (SqlCommand cmd = new SqlCommand())
    {
      cmd.CommandText = "select * from File_Mst";
      cmd.Connection = con;
      con.Open();
      GridView1.DataSource = cmd.ExecuteReader();
      GridView1.DataBind();
      con.Close();
    }
  }
}

protected void DownloadFile(object sender, EventArgs e)
{
  string filePath = (sender as LinkButton).CommandArgument;
  Response.ContentType = ContentType;
  Response.AppendHeader("Content-Disposition", "attachment; filename=" +Path.GetFileName(filePath));
  Response.WriteFile(filePath);
  Response.End();
}

protected void DeleteFile(object sender, EventArgs e)
{
  string filePath1 = (sender as LinkButton).CommandArgument;
  using (con = new SqlConnection(CS))
  {
    using (SqlCommand cmd = new SqlCommand())
    {
      cmd.CommandText = "delete from File_Mst where FileID=" + filePath1;
      cmd.Connection = con;
      con.Open();
      cmd.ExecuteNonQuery();
      con.Close();
    }
  }
  //Response.ContentType = ContentType;
  //File.Delete(filePath1);
  Response.Redirect(Request.Url.AbsoluteUri);
}

Get all the file name from a given Directory including sub directories in asp.net


Description:-

In this article we will see about how to get files name from directory or subdirectory which we assign in directory. It’s simple to get all files name from the directory using the DirectoryInfo class and get the all files from that directory in dot.net. we have to set for Subdirectory if there are sub directory is there than it will not check for sub directory it will count from root directory only and return file name from that root directory. Here is the demo to count from directory or subdirectory also.

Default.aspx.cs:-

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    DirectoryInfo d = new DirectoryInfo(Server.MapPath("~/FileToRead/"));
    string d2 = d.FullName.ToString();
    List<string> Files = Directory.GetFiles(d2, "*", SearchOption.AllDirectories).ToList();
    foreach (List<string> li in Files)
    {
      Response.Write(Files[0].ToString());
    }
  }
}

How to check download speed in asp.net


Description:-

In this article I will explain how to check and find the Internet Connection (Download) speed using C#. A file of known size will be downloaded from a remote server 5-10 times and the time required to download the file is noted. Finally the average of these readings will be used to calculate approximate Internet Connection or Download speed. For more accurate readings, you need to download larger files.

I am downloading a jQuery script file from Google CDN. The size of the file is 261 KB, which I have determined from windows explorer. The download speed of calculated by dividing the size of the file (in KB) with the difference in download start and end time (in seconds).

The above process is repeated 5 times and the result is stored in an array after each iteration. Follow given code to check your internet connection speed (download speed).

Default.aspx:-
<div>
  <asp:Label ID="lblDownloadSpeed" runat="server" />
  <asp:Button ID="Button1" Text="Check Speed" runat="server" OnClick="CheckSpeed" />
</div>

Step 2: Now Call a JavaScript in your webPage

<script type="text/javascript" src="Scripts/advajax.js"></script>

Step 3: Now generate Button Click event to Create Code for Check Download Speed.

Default.aspx.cs:-
protected void CheckSpeed(object sender, EventArgs e)
{
   double[] speeds = new double[5];
   for (int i = 0; i < 5; i++)
   {
      intjQueryFileSize = 261; //Size of File in KB.
      WebClient client = new WebClient();
      DateTime startTime = DateTime.Now;
      client.DownloadFile("http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js", Server.MapPath("~/jQuery.js"));
      DateTime endTime = DateTime.Now;
      speeds[i] = Math.Round((jQueryFileSize / (endTime - startTime).TotalSeconds));
   }
   lblDownloadSpeed.Text = string.Format("Download Speed: {0}KB/s", speeds.Average());
}

NameSpaces:-

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Linq;

Step 4: Now run you WebPage.
Step 5: Click on CheckSpeed button to Check Download Speed.

Dynamic checkbox checked event in asp.net


Description:-

In this article we will see How to Handle Dynamic Checkbox Checked Event in dot net. Here I have Create Simple demo to Understand Easily. For Create Dynamic Check box you have to Create Checkbox Dynamically in Page_Load event. Here I have Created Check box and Handle that Created Checkbox Event for Check or Uncheck.

You can create much control Dynamically in dot net. Here I have used Checkbox Control to Understand.

Create Webpage and Add Label control for Display Messgae . when we checkd or uncheck from that Check box Control.

Default.aspx:-

<div>
  <asp:Label ID="lblMessage" runat="server" Text="Label"></asp:Label>
</div>

Default.aspx.cs:-

protected void Page_Load(object sender, EventArgs e)
        {
            chkDynamic = new CheckBox();
            chkDynamic.ID = "chkExample";
            chkDynamic.Text = "Check / Uncheck";
            chkDynamic.AutoPostBack = true;
            chkDynamic.CheckedChanged += new EventHandler
                               (chkDynamic_CheckedChanged);
            this.Form.Controls.Add(chkDynamic);
        }

Her is the Checkbox Checked Event perform action on that check Box.

protected void chkDynamic_CheckedChanged (object sender, EventArgs e)
        {
            if (chkDynamic.Checked)
                lblMessage.Text = "you checked the checkbox";
            else if (!chkDynamic.Checked)
                lblMessage.Text = "checkbox is not checked";
        }

Now we are done to perform Checkbox Event. Run your application there you will get Checkbox control for Check or Uncheck.

Create HTML using HtmlTextWriter class in dynamics ax


Description:-

HtmlTextWriter class is used to output properly formed HTMLinto a web page.  TheHtmlTextWriter allows the developer to code attributes, style attributes, andtags etc.

The HtmlTextWriter class permits the developer to generatepage output in a non-browser specific way; that is to say, the burden ofdeveloping alternative Markup is typically removed by using theHtmlTextWriter.  The HtmlTextWriter class exposes properties, fields, andmethods that permit the developer to format HTML 4.0 compliant output. 

For example, in the job below i added static string and  an image using the HtmlTextWriter class. 

Code:-

static void HTMLTextWriter(Args _args)
{
    HTMLTextWriterhtw = new HTMLTextWriter();
    TextBuffer     txtBuffer = new TextBuffer();
    CCHTMLString   staticString;
    ;
    staticString = @'At Solugenix we know our success results from taking a long term view in all our relationships: clients, employees, industries and technologies.;   
    htw.renderBeginTag(HtmlTextWriterTag::table());   
    htw.renderBeginTag(HtmlTextWriterTag::tr());   
    htw.write(staticString);   
    htw.addAttribute(HtmlTextWriterAttribute::class_Attribute(), 'ms-vb');   
    htw.addStyleAttribute(HtmlTextWriterStyle::width(), '26px');   
    htw.addStyleAttribute(HtmlTextWriterStyle::padding_top(), '3px');   
    htw.renderBeginTag(HtmlTextWriterTag::td());   
    htw.addAttribute(HtmlTextWriterAttribute::src(), 'http://www.holidayegreetingssite.com/index_files/image3121.jpg&#8217;);//getthe image from web   
    htw.addStyleAttribute(HtmlTextWriterStyle::width(), '100');   
    htw.addStyleAttribute(HtmlTextWriterStyle::height(), '50');   
    htw.renderBeginTag(HtmlTextWriterTag::img(), true);
    htw.renderEndTag();
    //close <Td>
    htw.renderEndTag();
    //close <Table>   
    txtBuffer.setText(htw.getHtmlString());   
    txtBuffer.toFile('f:\\DynamicsAX.html'); //please provide your path to save thefile
}

How to add row in gridview dynamically in Asp.net

Description:-

This article talks about a small project that presents the idea of having a GridView which facilitates the add rows dynamically at run time. In this article, I'm going to wrap up everything into one for easy reference. The following are the main features that you will see:

  • Adding rows of TextBox, DropDownlist, Radio button and Checkbox.
  • Retain TextBox values and DropDownlist selected values across Postback.
  • Ability to remove rows.
  •     Save all values at once. 
To get started fire up Visual Studio and then add a new Web Form page. Add a GridView control to the page. Here's the GridView HTML markup:

Default.aspx:-

<div>
<asp:GridView ID="Gridview1" runat="server" ShowFooter="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="Vertical">
  <AlternatingRowStyle BackColor="#CCCCCC" />
    <Columns>
      <asp:BoundField DataField="RowNumber" HeaderText="Row Number" />
        <asp:TemplateField HeaderText="First Name">
          <ItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
          </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Last Name">
          <ItemTemplate>
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
          </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Gender">
          <ItemTemplate>
            <asp:RadioButtonList ID="RBLGender" runat="server"RepeatDirection="Horizontal">
              <asp:ListItem Value="M">Male</asp:ListItem>
              <asp:ListItem Value="F">Female</asp:ListItem>
            </asp:RadioButtonList>
          </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Status">
          <ItemTemplate>
            <asp:CheckBoxList ID="Status" runat="server"RepeatDirection="Horizontal">
              <asp:ListItem>Single</asp:ListItem>
              <asp:ListItem>Married</asp:ListItem>
            </asp:CheckBoxList>
          </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Qualification">
          <ItemTemplate>
            <asp:DropDownList ID="drpQualification" runat="server">
              <asp:ListItem Value="G">Graduate</asp:ListItem>
              <asp:ListItem Value="P">Post Graduate</asp:ListItem>
            </asp:DropDownList>
          </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Grade">
          <ItemTemplate>
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
          </ItemTemplate>
          <FooterStyle HorizontalAlign="Right" />
          <FooterTemplate>
            <asp:Button ID="ButtonAdd" runat="server" Text="Add New Row" OnClick="ButtonAdd_Click" />
          </FooterTemplate>
        </asp:TemplateField>
      </Columns>
      <FooterStyle BackColor="#CCCCCC" />
      <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
      <PagerStyle BackColor="#999999" ForeColor="Black"HorizontalAlign="Center" />
      <SelectedRowStyle BackColor="#000099" Font-Bold="True"ForeColor="White" />
      <SortedAscendingCellStyle BackColor="#F1F1F1" />
      <SortedAscendingHeaderStyle BackColor="#808080" />
      <SortedDescendingCellStyle BackColor="#CAC9C9" />
      <SortedDescendingHeaderStyle BackColor="#383838" />
  </asp:GridView>
</div>

Default.aspx.cs:-

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    SetInitialRow();
  }
}

private void SetInitialRow()
{
  DataTable dt = new DataTable();
  DataRow dr = null;
  dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
  dt.Columns.Add(new DataColumn("Column1", typeof(string)));
  dt.Columns.Add(new DataColumn("Column2", typeof(string)));
  dt.Columns.Add(new DataColumn("Column3", typeof(string)));
  dt.Columns.Add(new DataColumn("Column4", typeof(string)));
  dt.Columns.Add(new DataColumn("Column5", typeof(string)));
  dt.Columns.Add(new DataColumn("Column6", typeof(string)));

  dr = dt.NewRow();
  dr["RowNumber"] = 1;
  dr["Column1"] = string.Empty;
  dr["Column2"] = string.Empty;
  dr["Column3"] = string.Empty;
  dr["Column4"] = string.Empty;
  dr["Column5"] = string.Empty;
  dr["Column6"] = string.Empty;

  dt.Rows.Add(dr);
  //dr = dt.NewRow();
  //Store the DataTable in ViewState
  ViewState["CurrentTable"] = dt;
  Gridview1.DataSource = dt;
  Gridview1.DataBind();
}

private void AddNewRowToGrid()
{
  int rowIndex = 0;
  if (ViewState["CurrentTable"] != null)
  {
    DataTable dtCurrentTable = (DataTable)ViewState["CurrentTable"];
    DataRow drCurrentRow = null;
    if (dtCurrentTable.Rows.Count> 0)
    {
      for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
      {
        //extract the TextBox values
        TextBox box1 = (TextBox)Gridview1.Rows[rowIndex].Cells[1].FindControl("TextBox1");
        TextBox box2 = (TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox2");
        TextBox box3 = (TextBox)Gridview1.Rows[rowIndex].Cells[3].FindControl("TextBox3");
        RadioButtonList box4 = (RadioButtonList)Gridview1.Rows[rowIndex].Cells[3].FindControl("RBLGender");
        DropDownList box5 = (DropDownList)Gridview1.Rows[rowIndex].Cells[5].FindControl("drpQualification");
        CheckBoxList box6 = (CheckBoxList)Gridview1.Rows[rowIndex].Cells[6].FindControl("Status");
        drCurrentRow = dtCurrentTable.NewRow();
        drCurrentRow["RowNumber"] = i + 1;
        dtCurrentTable.Rows[i - 1]["Column1"] = box1.Text;
        dtCurrentTable.Rows[i - 1]["Column2"] = box2.Text;
        dtCurrentTable.Rows[i - 1]["Column3"] = box3.Text;
        dtCurrentTable.Rows[i - 1]["Column4"] = box4.SelectedValue;
        dtCurrentTable.Rows[i - 1]["Column5"] = box5.SelectedValue;
        dtCurrentTable.Rows[i - 1]["Column6"] = box6.SelectedValue;
        rowIndex++;
      }
      dtCurrentTable.Rows.Add(drCurrentRow);
      ViewState["CurrentTable"] = dtCurrentTable;
      Gridview1.DataSource = dtCurrentTable;
      Gridview1.DataBind();
    }
  }
  else
  {
    Response.Write("ViewState is null");
  }
  //Set Previous Data on Postbacks
  SetPreviousData();
}

private void SetPreviousData()
{
  int rowIndex = 0;
  if (ViewState["CurrentTable"] != null)
  {
    DataTable dt = (DataTable)ViewState["CurrentTable"];
    if (dt.Rows.Count> 0)
    {
      for (int i = 0; i <dt.Rows.Count; i++)
      {
        TextBox box1 = (TextBox)Gridview1.Rows[rowIndex].Cells[1].FindControl("TextBox1");
        TextBox box2 = (TextBox)Gridview1.Rows[rowIndex].Cells[2].FindControl("TextBox2");
        TextBox box3 = (TextBox)Gridview1.Rows[rowIndex].Cells[3].FindControl("TextBox3");
        RadioButtonList box4 = (RadioButtonList)Gridview1.Rows[rowIndex].Cells[4].FindControl("RBLGender");
        DropDownList box5 = (DropDownList)Gridview1.Rows[rowIndex].Cells[5].FindControl("drpQualification");
        CheckBoxList box6 = (CheckBoxList)Gridview1.Rows[rowIndex].Cells[6].FindControl("Status");
        box1.Text = dt.Rows[i]["Column1"].ToString();
        box2.Text = dt.Rows[i]["Column2"].ToString();
        box3.Text = dt.Rows[i]["Column3"].ToString();
        box4.SelectedValue = dt.Rows[i]["Column4"].ToString();
        box5.SelectedValue = dt.Rows[i]["Column5"].ToString();
        box6.SelectedValue = dt.Rows[i]["Column6"].ToString();
        rowIndex++;
      }
    }
  }
}

protected void ButtonAdd_Click(object sender, EventArgs e)
{
  AddNewRowToGrid();
}
Get Image coordinates in Asp.Net

Get Image coordinates in Asp.Net

Description:-

In this article we will see about image coordinates. You can get image co-ordinates using the position of you mouse pointer. To read it you have to get the x and y value on your mouse pointer and you can after get the co-ordinates of image. In actual format formats is nothing but the mouse pointer position to read it you have to X and Y value from you page. So you can directly read it.

Default.aspx:-

<form name="pointform" method="post">
<div style="position: absolute; left: 20px; top: 20px;"> Get Image coordinates</div>
<div style="clear: both; height: 5px;"> </div>
<div id="pointer_div" onclick="point_it(event)" style="background-image: url('water.png');
background-repeat: no-repeat; width: 900px; height: 262px;">
</div>
<div style="position: absolute; left: 20px; top: 280px;"> You pointed on x =
  <input type="text" name="form_x" size="4"/>- y =
  <input type="text" name="form_y" size="4"/>
</div>
</form>

JavaScript Code:-

<script language="JavaScript"type="text/javascript">
function point_it(event) {
  pos_x = event.offsetX ? (event.offsetX) : event.pageX - document.getElementById("pointer_div").offsetLeft;
  pos_y = event.offsetY ? (event.offsetY) : event.pageY - document.getElementById("pointer_div").offsetTop;
  document.pointform.form_x.value = pos_x;
  document.pointform.form_y.value = pos_y;
}
</script>

Now you can run your application and get X and Y Co-ordinates of your Image.
Display gridview row as coloumn in asp.net

Display gridview row as coloumn in asp.net

Description:-

In this example we explain that how to convert GridView columns to row or convert GridView columns to GridView row in asp.net. Sometime in project there are many clients that required the GridView data should be displayed in reverse format means GridView columns display as GridView row and GridView rows should be displayed as GridView columns.

Default.aspx.cs:-

Protected void Page_Load(object sender, EventArgs e)
{
  if (!Page.IsPostBack)
  {
    PopulateGrid();
  }
}

protectedvoidPopulateGrid()
{
  DataTabledt = newDataTable();
  dt.Columns.Add("Emp_Id", typeof(Int32));
  dt.Columns.Add("Emp_Name", typeof(string));
  dt.Columns.Add("Designation", typeof(string));
  dt.Columns.Add("Email-ID", typeof(string));
  dt.Columns.Add("MobileNo", typeof(Int64));
  DataRowdtrow = dt.NewRow();
  // Create First Row 
  dtrow["Emp_Id"] = 1;
  dtrow["Emp_Name"] = "Umesh";
  dtrow["Designation"] = "MCA";
  dtrow["Email-ID"] = "Umesh@gmail.com";
  dtrow["MobileNo"] = 9485768594;
  dt.Rows.Add(dtrow);
  dtrow = dt.NewRow();
  // Create Second Row 
  dtrow["Emp_Id"] = 2;
  dtrow["Emp_Name"] = "Chirag";
  dtrow["Designation"] = "ITI";
  dtrow["Email-ID"] = "Chirag@gmail.com";
  dtrow["MobileNo"] = 2345987456;
  dt.Rows.Add(dtrow);
  dtrow = dt.NewRow();
  // Create third Row 
  dtrow["Emp_Id"] = 3;
  dtrow["Emp_Name"] = "Kirit";
  dtrow["Designation"] = "MCA";
  dtrow["Email-ID"] = "Kirit@gmail.com";
  dtrow["MobileNo"] = 2038945456;
  dt.Rows.Add(dtrow);
  dtrow = dt.NewRow();
  // Create Fourth Row 
  dtrow["Emp_Id"] = 4;
  dtrow["Emp_Name"] = "Harpal";
  dtrow["Designation"] = "PGDCA";
  dtrow["Email-ID"] = "Harpal@gmail.com";
  dtrow["MobileNo"] = 2345898764;
  dt.Rows.Add(dtrow);
  gv_Defaultgrid.DataSource = dt;
  gv_Defaultgrid.DataBind();
  gv_convertedgrid.DataSource = ConvertColumnsAsRows(dt);
  gv_convertedgrid.DataBind();
  gv_convertedgrid.HeaderRow.Visible = false;
}

Protected void gv_convertedgrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
    e.Row.Cells[0].CssClass = "gridcss";
  }
}

// This function is used to convert columns to rows 
Public DataTable ConvertColumnsAsRows(DataTabledt)
{
  DataTabledt_temp = newDataTable();
  //Convert all the rows to columns 
  for (int i = 0; i <= dt.Rows.Count; i++)
  {
    dt_temp.Columns.Add(Convert.ToString(i));
  }
  DataRowdr;
  // Convert All the Columns to Rows 
  for (int j = 0; j <dt.Columns.Count; j++)
  {
    dr = dt_temp.NewRow();
    dr[0] = dt.Columns[j].ToString();
    for (int k = 1; k <= dt.Rows.Count; k++)
    dr[k] = dt.Rows[k - 1][j];
    dt_temp.Rows.Add(dr);
  }
  returndt_temp;
}

Read XML file in datatable and bind to datalist in asp.net

Description:-

In this article we will see about how to read Xml File in Datatable and bind into datalist in dotnet. Here I have created student xml file and bind into datalist. Here notice that XML file should be physical location t means in your project so we can read it using server method.

Design.aspx:-

    <div>
        <div>
            <asp:Button ID="Button1" runat="server" Text="Click To Read XML" OnClick="Button1_Click" />
        </div>
        <asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#3366CC"
            BorderStyle="None" BorderWidth="1px" CellPadding="4" GridLines="Both">
            <ItemStyle BackColor="White" ForeColor="#003399" />
            <ItemTemplate>
                Id :
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label><br />
                Name :
                <asp:Label ID="Label2" runat="server" Text='<%# Eval("name") %>'></asp:Label><br />
                Address :
                <asp:Label ID="Label3" runat="server" Text='<%# Eval("address") %>'></asp:Label>
            </ItemTemplate>
        </asp:DataList>
    </div>

Default.aspx.cs:-

        public void Button1_Click(object sender, EventArgs e)
        {
            DataTable objDataTable = new DataTable();
            string filepathe = @"XMLFile\XMLFile1.xml";
            objDataTable = ReadXMLFile1(filepathe);
            DataList1.DataSource = objDataTable;
            DataList1.DataBind();
        }

        public DataTable ReadXMLFile1(string filePath)
        {
            DataSet objds = new DataSet();
            objds.ReadXml(Server.MapPath(filePath));
            return objds.Tables[0];
        }

XML File:-

<students>
  <student>
    <id>1</id>
    <name>Umesh Patel</name>
    <address>Ahmedabad</address>
  </student>
  <student>
    <id>2</id>
    <name>Kirit Patel</name>
    <address>Ahmedabad</address>
  </student>
  <student>
    <id>1</id>
    <name>Harpalshinh Gohil</name>
    <address>Ahmedabad</address>
  </student>
  <student>
    <id>1</id>
    <name>Chirag Patel</name>
    <address>Ahmedabad</address>
  </student>
</students>

Output:-

Html markup in Gridview in asp.net


Description:-

Here first we add a Gridview control, by just drag and drop on our web page. Now will use item template to display data .i.e (we are are going to show employee name, gender, location, and department).

Now we want to edit the department for selected employee. So now we added a drop-down list under edit template, which will display only on edit mode. Our final HTML looks like as written below.

Default.aspx:-

    <div>
        <asp:GridView ID="gv" runat="server" AutoGenerateColumns="False" OnRowCancelingEdit="gv_RowCancelingEdit"
            OnRowEditing="gv_RowEditing" OnRowDataBound="gv_RowDataBound">
            <Columns>
                <asp:TemplateField HeaderText="Name">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Gender">
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("Gender") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Location">
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Eval("Location") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Department">
                    <EditItemTemplate>
                        <asp:DropDownList ID="ddl_department" runat="server">
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Eval("department_name") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField ShowHeader="False">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                            Text="Update"></asp:LinkButton>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                            Text="Cancel"></asp:LinkButton>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
                            Text="Edit"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>