Translate

Saturday 23 September 2017

export datatable to excel using c# asp.net , datatable to excel using c# asp.net

use this code
---------------------


 protected void btnExport_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Id");
        dt.Columns.Add("City Name");
        DataRow dr = dt.NewRow();
        dr["Id"] = "50";
        dr["City Name"] = "Bhubaneswar";
        dt.Rows.Add(dr);

        DataRow dr1 = dt.NewRow();
        dr1["Id"] = "55";
        dr1["City Name"] = "Cuttack";
        dt.Rows.Add(dr1);

        ExporttoExcel(dt);
    }
    private void ExporttoExcel(DataTable table)
    {
        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.ClearContent();
        HttpContext.Current.Response.ClearHeaders();
        HttpContext.Current.Response.Buffer = true;
        HttpContext.Current.Response.ContentType = "application/ms-excel";
        //HttpContext.Current.Response.ContentType = "application/ms-word";
        HttpContext.Current.Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
        HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=Reports" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".xls");
        //HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=Reports.doc");
        HttpContext.Current.Response.Charset = "utf-8";
        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1250");
        HttpContext.Current.Response.Write("<font style='font-size:10.0pt; font-family:Calibri;'>");
        HttpContext.Current.Response.Write("<BR><BR><BR>");
        HttpContext.Current.Response.Write("<Table border='1' bgColor='#ffffff' borderColor='#000000' cellSpacing='0' cellPadding='0' style='font-size:10.0pt; font-family:Calibri; background:white;'> <TR>");
        int columnscount = table.Columns.Count;

        for (int j = 0; j < columnscount; j++)
        {
            HttpContext.Current.Response.Write("<Td style='background:#ebf442'>");
            HttpContext.Current.Response.Write("<B>");
            HttpContext.Current.Response.Write(table.Columns[j].ColumnName.ToString());
            HttpContext.Current.Response.Write("</B>");
            HttpContext.Current.Response.Write("</Td>");
        }
        HttpContext.Current.Response.Write("</TR>");
        foreach (DataRow row in table.Rows)
        {
            HttpContext.Current.Response.Write("<TR>");
            for (int i = 0; i < table.Columns.Count; i++)
            {
                HttpContext.Current.Response.Write("<Td>");
                HttpContext.Current.Response.Write(row[i].ToString());
                HttpContext.Current.Response.Write("</Td>");
            }

            HttpContext.Current.Response.Write("</TR>");
        }
        HttpContext.Current.Response.Write("</Table>");
        HttpContext.Current.Response.Write("</font>");
        HttpContext.Current.Response.Flush();
        HttpContext.Current.Response.End();
    }

export to excel in c# using javascript function, export to excel of div in clientside

Use the following code
-----------------------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Pabitra_TestWork_Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
 <asp:Button ID="btnExport" runat="server"  CssClass="green_button" Text="Export To Excel"  Width="180px" OnClientClick="ExportToExcel();" />
<br/>
  <asp:HiddenField runat="server" ID="hfExcelName" Value="MyCustomExcel" />
<br/>
 <div id="divprint">
<table border='1'>
<tr>
<td>Id</td>
<td>Name</td>
<td>City</td>
</tr>
<tr>
<td>1</td>
<td>Pabitra</td>
<td>Bhubaneswar</td>
</tr>
</table>
<%--or use gridview here --%>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
        function ExportToExcel() {
            var ExcelName = document.getElementById("<%=hfExcelName.ClientID %>");
            //creating a temporary HTML link element (they support setting file names)
            var a = document.createElement('a');        
            //getting data from our div that contains the HTML table
            var data_type = 'data:application/vnd.ms-excel';
            var table_div = document.getElementById('divprint');
            var table_html = table_div.outerHTML.replace(/ /g, '%20');
            a.href = data_type + ', ' + table_html;
            //setting the file name
            a.download = ExcelName.value + '.xls';
            //triggering the function
            a.click();
            //just in case, prevent default behaviour
            e.preventDefault();
        }
    </script>
 </form>
</body>
</html>

Thursday 7 September 2017

set date to insert into sql server , date format function, c# date format to send data into sql


  <asp:TextBox ID="txtDateOfBirth" runat="server" CssClass="textbox"   MaxLength="10"></asp:TextBox>
                <ajaxToolKit:CalendarExtender ID="CalendarExtender5" runat="server" Format="dd/MM/yyyy"
                TargetControlID="txtDateOfBirth">
                </ajaxToolKit:CalendarExtender>
                 <ajaxToolkit:FilteredTextBoxExtender ID="fltertxtDateOfBirth" runat="server"
                 TargetControlID="txtDateOfBirth" FilterType="Custom" ValidChars="1234567890/" />




string CommonDate = GetDateFormatYYYYMMDD(txtDateOfBirth.Text);

 string GetDateFormatYYYYMMDD(string Str_ddmmyyyy)//Input dd/mm/yyyy out put will be YYYY/MM/dd
    {
        string newDate = null;

        string yyyy = string.Empty;
        string MM = string.Empty;
        string dd = string.Empty;

        if (Str_ddmmyyyy == null || Str_ddmmyyyy.Trim() == string.Empty)
        {
            newDate = null;
        }else      
        {
            if(Str_ddmmyyyy.Length>=10)
            Str_ddmmyyyy = Str_ddmmyyyy.Trim().Substring(0, 10).Trim();          
       
        }
         if (Str_ddmmyyyy.Contains("/"))
        {
            yyyy = Str_ddmmyyyy.Trim().Split('/')[2].ToString();
            MM = (Str_ddmmyyyy.Trim().Split('/')[1].ToString().Length == 1) ? "0" + Str_ddmmyyyy.Trim().Split('/')[1].ToString() : Str_ddmmyyyy.Trim().Split('/')[1].ToString();
            dd = (Str_ddmmyyyy.Trim().Split('/')[0].ToString().Length == 1) ? "0" + Str_ddmmyyyy.Trim().Split('/')[0].ToString() : Str_ddmmyyyy.Trim().Split('/')[0].ToString();
            newDate = yyyy + "/" + MM + "/" + dd;
           // newDate = dd + "/" + MM + "/" + yyyy;
        }
        else if (Str_ddmmyyyy.Contains("-"))
        {
            yyyy = Str_ddmmyyyy.Trim().Split('-')[2].ToString();
            MM = (Str_ddmmyyyy.Trim().Split('-')[1].ToString().Length == 1) ? "0" + Str_ddmmyyyy.Trim().Split('-')[1].ToString() : Str_ddmmyyyy.Trim().Split('-')[1].ToString();
            dd = (Str_ddmmyyyy.Trim().Split('-')[0].ToString().Length == 1) ? "0" + Str_ddmmyyyy.Trim().Split('-')[0].ToString() : Str_ddmmyyyy.Trim().Split('-')[0].ToString();
             newDate = yyyy + "/" + MM + "/" + dd;
            //newDate = dd + "/" + MM + "/" + yyyy;
        }
        else if (Str_ddmmyyyy.Contains("."))
        {
            yyyy = Str_ddmmyyyy.Trim().Split('.')[2].ToString();
            MM = (Str_ddmmyyyy.Trim().Split('.')[1].ToString().Length == 1) ? "0" + Str_ddmmyyyy.Trim().Split('.')[1].ToString() : Str_ddmmyyyy.Trim().Split('.')[1].ToString();
            dd = (Str_ddmmyyyy.Trim().Split('.')[0].ToString().Length == 1) ? "0" + Str_ddmmyyyy.Trim().Split('.')[0].ToString() : Str_ddmmyyyy.Trim().Split('.')[0].ToString();
            newDate = yyyy + "/" + MM + "/" + dd;
            //newDate = dd + "/" + MM + "/" + yyyy;
        }
        return newDate;
    }

Wednesday 6 September 2017

ajaxToolKit CalendarExtender and FilteredTextBoxExtender


<asp:TextBox ID="txtServiceJoinDate" runat="server" CssClass="textbox"  MaxLength="10"></asp:TextBox>
                <ajaxToolKit:CalendarExtender ID="CalendarExtender9" runat="server" Format="dd/MM/yyyy"
                TargetControlID="txtServiceJoinDate">
                </ajaxToolKit:CalendarExtender>
                 <ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server"
                 TargetControlID="txtServiceJoinDate" FilterType="Custom" ValidChars="1234567890/" />

sql : check date as null and blank and select query

select (case when t.STATUS_DATE is null  then '' when t.STATUS_DATE='' then '' when t.STATUS_DATE<>'' then convert(varchar(50),t.STATUS_DATE,103)end) as 'STATUS_DATE' from Mst_Emp

Tuesday 5 September 2017

validate max length in asp text box having multi line as well as text area in html


for test use this
<div>
        <asp:TextBox ID="txtAddresss" TextMode="MultiLine"  onchange="if (this.value.length > 1) {alert('onchange event');this.value=this.value.substring(0,1); return false; }"  onkeypress="if (this.value.length > 1) {alert('onkeypress event');this.value=this.value.substring(0,1); return false; }" runat="server"></asp:TextBox>
        <br /><textarea id="txtAddresss1"  onchange="if (this.value.length > 1) {alert('onchange event');this.value=this.value.substring(0,1); return false; }"  onkeypress="if (this.value.length > 1) {alert('onkeypress event');this.value=this.value.substring(0,1); return false; }"></textarea>
    </div>


For Implementation use this


        <asp:TextBox ID="txtAddresss" TextMode="MultiLine"  onchange="if (this.value.length > 1) {alert('onchange event');this.value=this.value.substring(0,1); return false; }"  onkeypress="if (this.value.length > 1) {this.value=this.value.substring(0,1); return false; }" runat="server"></asp:TextBox>
        <br /><textarea id="txtAddresss1"  onchange="if (this.value.length > 1) {alert('onchange event');this.value=this.value.substring(0,1); return false; }"  onkeypress="if (this.value.length > 1) {this.value=this.value.substring(0,1); return false; }"></textarea>

Monday 4 September 2017

send sms in c# , send sms in button click

  use this namespace

       using System.IO;
        using System.Net;

use this code in code behind

 protected void btnSendSMS_Click(object sender, EventArgs e)
        {
            SendSMS();

        }




        public void SendSMS()
        {
            string sURL;
            StreamReader objReader;
            //give the USERNAME,PASSWORD,moblienumbers.... on URL
            string userName = "xxxxxx";
            string password = "xxxx";
            string no1 = "xxxxxx";
            string senderid = "xxxx";
            string msgText = "hello SMS";
            sURL = "http://sandeshlive.in/API/WebSMS/Http/v1.0a/index.php?username=" + userName + "&password=" + password + "&sender=" + senderid + "&to=" + no1 + "&message=" + msgText + "&reqid=1&format=json&route_id=23";
            WebRequest wrGETURL;
            wrGETURL = WebRequest.Create(sURL);
            try
            {
                wrGETURL.Timeout = 999999999;
                Stream objStream;
                objStream = wrGETURL.GetResponse().GetResponseStream();
                objReader = new StreamReader(objStream);
                Response.Write(objReader.ReadToEnd());
                objReader.Close();
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
        }

upload file while page in update panel

protected void Page_Load(object sender, EventArgs e)
     {
        ScriptManager.GetCurrent(this).RegisterPostBackControl(btnSave);
     }

Saturday 2 September 2017

Validation of viewstate MAC failed. If this application is hosted by a web farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. Resolved

[Resolved]

 Solution:


<system.web>
 <pages viewStateEncryptionMode="Never" enableEventValidation="false" validateRequest="false">
    </pages>
     <machineKey  decryptionKey="2CC8E5C3B1812451A707FBAAAEAC9052E05AE1B858993660" validation="HMACSHA256" decryption="AES" validationKey="CB8860CE588A62A2CF9B0B2F48D2C8C31A6A40F0517268CEBCA431A3177B08FC53D818B82DEDCF015A71A0C4B817EA8FDCA2B3BDD091D89F2EDDFB3C06C0CB32" />
    <customErrors mode="Off">
      <error statusCode="404" redirect="/404error.aspx" />
    </customErrors>
</system.web>




  Error:
Validation of viewstate MAC failed. If this application is hosted by a web farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

  Error Snap shot