Tuesday, 30 April 2013

Jquery selector Tips


$('<div/>') : This creates a new div element. However this is not added to DOM tree unless you don't append it to any DOM element.

$('div') : This selects all the div element present on the page.

So, the code $('<div/>').addClass('test') will create a new div element and adds css class called "test". And $('div').addClass('test') will select all the div element present on the page and adds css class "test" to them.

As mentioned earlier that while using $('<div/>'), only new element gets created but it is still not added to DOM. One have to append it to any other element. For example, to append this newly created div to body, use below jQuery code.
$('<div/>').addClass('test').appendTo('body')

Friday, 26 April 2013

pass array in ajax and get in asp.net webmethod

     $(".SaveDataArray").live("click", function () {


                var mydata = new Array();
                mydata.push({ "name": "tablename", "value": "pranay" });



                $.ajax({
                    type: "GET",
                    url: "Default.aspx/Arraysave",
                    data: mydata,
                    contentType: "application/json;charset=utf-8",
                    dataType: "json",
                    success: function (value) {
                    },
                    error: function () {
                    }
                });
            });


        });






using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Web.Script.Serialization;
using System.Web.Script.Services;
using System.Web.Services;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //FssSqlDB objdb = new FssSqlDB();
       // DataTable objdt = new DataTable();
      //  objdt = objdb.GetData("select * from user_mas");
     
        bindGrid();

     
    }


    public void bindGrid()
    {
        REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
        var listuser = (from p in objDB.REGISTRATIONs
                       select p).ToArray();
     
        if (listuser != null)
        {
            if (GridViewSortDirection == SortDirection.Ascending)
            {
                GridView1.DataSource = listuser.OrderBy(x => x.GetType().GetProperty(GridViewSortExpression).GetValue(x, null)).ToList();
            }
            else
            {
                GridView1.DataSource = listuser.OrderByDescending(x => x.GetType().GetProperty(GridViewSortExpression).GetValue(x, null)).ToList();
            };
        }
        else
        {
            GridView1.DataSource = null;
        }
        //GridView1.DataSource = listuser;
        GridView1.DataBind();
    }

    [System.Web.Script.Services.ScriptMethod(ResponseFormat=ResponseFormat.Json)]
    [WebMethod]
    public static string getdata()
    {
        return "pranay soni";
    }

 


        [System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json,UseHttpGet=true)]
    [WebMethod]
     public static string Arraysave()
     {
         REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
         REGISTRATION objreg = new REGISTRATION();

         string sd = HttpContext.Current.Request["tablename"].ToString();
       
         return "Save Data";
     }


    [System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json,UseHttpGet=true)]
    [WebMethod(EnableSession= true)]
    public static string my()
    {
        return "df";
    }



    [System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    [WebMethod]
     public static string savedata(string txtName,string txtAddress,string txtAge)
     {
         REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
         REGISTRATION objreg = new REGISTRATION();
         objreg.NAME = txtName;
         objreg.ADDRESS = txtAddress;
         objreg.AGE = Convert.ToInt32(txtAge);
         objDB.REGISTRATIONs.InsertOnSubmit(objreg);
         objDB.SubmitChanges();
         return "Save Data";
     }

    [System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    [WebMethod(EnableSession=true)]
 
    public static string Update(string txtName, string txtAddress, string txtAge,string ID)
    {
        REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
        //REGISTRATION objreg = new REGISTRATION();
        var updated = (from p in objDB.REGISTRATIONs
                       where p.ID == Convert.ToInt32(ID)
                       select p).SingleOrDefault();
   

        updated.NAME = txtName;
        updated.ADDRESS = txtAddress;
        updated.AGE = Convert.ToInt32(txtAge);
        objDB.SubmitChanges();
        return "update";
    }


    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        string id =  Convert.ToString(GridView1.DataKeys[e.RowIndex].Value);

        REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
        REGISTRATION objReg = new REGISTRATION();
        var Deletselected = (from p in objDB.REGISTRATIONs
                             where p.ID == Convert.ToInt64(id)
                             select p).SingleOrDefault();
        objDB.REGISTRATIONs.DeleteOnSubmit(Deletselected);
        objDB.SubmitChanges();
        bindGrid();
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        bindGrid();
    }

    public string GridViewSortExpression
    {
        get
        {
          return ViewState["GridViewSortExpression"] == null ? "NAME":ViewState["GridViewSortExpression"] as string;    
        }
        set
        {
            ViewState["GridViewSortExpression"] = value;
        }
    }

    public SortDirection GridViewSortDirection
    {
        get
        {
            if (ViewState["sortDirection"] == null)
                ViewState["sortDirection"] = SortDirection.Ascending;
            return (SortDirection)ViewState["sortDirection"];
        }
        set {
            ViewState["sortDirection"] = value;
        }
    }

 
    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {

        GridViewSortExpression = e.SortExpression;
        if (GridViewSortDirection == SortDirection.Ascending)
        {
            GridViewSortDirection = SortDirection.Descending;
        }
        else
        {
            GridViewSortDirection = SortDirection.Ascending;
        };
        bindGrid();
    }
    protected void LinkBtnSelect_Click(object sender, EventArgs e)
    {

    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        Int32 SrNo = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value);
        REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
        REGISTRATION objreg = new REGISTRATION();

        var selected = (from p in objDB.REGISTRATIONs
                        where p.ID == SrNo
                        select p).SingleOrDefault();
        txtAddress.Value = selected.ADDRESS;
        txtAge.Value = selected.AGE.ToString();
        txtName.Value = selected.NAME;
        id.Value = selected.ID.ToString();
        btnRegis.Value = "Update";
    }

 

    protected void Button2_Click1(object sender, EventArgs e)
    {
     
        GridViewRow gvrow = (GridViewRow)(sender as Control).Parent.Parent;
        int index = gvrow.RowIndex;
        string df = GridView1.DataKeys[index]["ID"].ToString();
    }
}


Sunday, 21 April 2013

Bookmark Page Using Jquery


 Note: If so, we set the rel attribute of all our bookmark anchor tags (class=”jqbookmark”) to      “sidebar” – this is a standard Opera technique for creating this type of link.


    // add a "rel" attrib if Opera 7+
    if(window.opera) {
        if ($("a.jqbookmark").attr("rel") != ""){ // don't overwrite the rel attrib if already set
            $("a.jqbookmark").attr("rel","sidebar");
        }
    }

    $("a.jqbookmark").click(function(event){
        event.preventDefault(); // prevent the anchor tag from sending the user off to the link
        var url = this.href;
        var title = this.title;

        if (window.sidebar) { // Mozilla Firefox Bookmark
            window.sidebar.addPanel(title, url,"");
        } else if( window.external ) { // IE Favorite
            window.external.AddFavorite( url, title);
        } else if(window.opera) { // Opera 7+
            return false; // do nothing - the rel="sidebar" should do the trick
        } else { // for Safari, Konq etc - browsers who do not support bookmarking scripts (that i could find anyway)
             alert('Unfortunately, this browser does not support the requested action,'
             + ' please bookmark this page manually.');
        }

    });

Wednesday, 10 April 2013

Protecting Connection Strings

Protecting Connection Strings in Asp.net & C#


The .NET Framework ships with two protected configuration providers:


Before


<connectionStrings>
  <add name="NORTHWNDConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\NORTHWND.MDF;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>


1 .go to run
2. open CMD
3. go to  C:\Windows\Microsoft.NET\Framework\v2.0.50727
step 4.
aspnet_regiis.exe -pef "connectionStrings" "C:\Websites\MyExample" -prov "DataProtectionConfigurationProvider"

after

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider" >
  <EncryptedData>
   <CipherData>
    <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sB6uV62iLDrdr17KLgYixwPjiIjt/brdfndYbp7OHUtrgzA==</CipherValue>
   </CipherData>
  </EncryptedData>
 </connectionStrings>




 SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["NORTHWNDConnectionString"].ConnectionString);
        con.Open();
        SqlCommand cmd = new SqlCommand("select * from Employees", con);
        SqlDataAdapter objdataadapter = new SqlDataAdapter(cmd);
        DataTable objDt = new DataTable();
        objdataadapter.Fill(objDt);

In short, we do not need to add any extra code or logic to decrypt the encrypted <connectionString> section

Monday, 1 April 2013

Select table column name In SQL

SELECT  COLUMN_NAME FROM  INFORMATION_SCHEMA.COLUMNS WHERE  TABLE_NAME = 'TableNameGoesHere'ORDER   BY  ORDINAL_POSITION

Saturday, 30 March 2013

asp.net grid view sorting in linq to sql



  public void bindGrid()
    {
        REGISTRATIONDataContext objDB = new REGISTRATIONDataContext();
        var listuser = (from p in objDB.REGISTRATIONs
                       select p).ToArray();
       
        if (listuser != null)
        {
            if (GridViewSortDirection == SortDirection.Ascending)
            {
                GridView1.DataSource = listuser.OrderBy(x => x.GetType().GetProperty(GridViewSortExpression).GetValue(x, null)).ToList();
            }
            else
            {
                GridView1.DataSource = listuser.OrderByDescending(x => x.GetType().GetProperty(GridViewSortExpression).GetValue(x, null)).ToList();
            };
        }
        else
        {
            GridView1.DataSource = null;
        }
        //GridView1.DataSource = listuser;
        GridView1.DataBind();
    }



 public string GridViewSortExpression
    {
        get
        {
          return ViewState["GridViewSortExpression"] == null ? "NAME":ViewState["GridViewSortExpression"] as string;    
        }
        set
        {
            ViewState["GridViewSortExpression"] = value;
        }
    }

    public SortDirection GridViewSortDirection
    {
        get
        {
            if (ViewState["sortDirection"] == null)
                ViewState["sortDirection"] = SortDirection.Ascending;

            return (SortDirection)ViewState["sortDirection"];
        }
        set { ViewState["sortDirection"] = value; }
    }

    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {

        GridViewSortExpression = e.SortExpression;
        if (GridViewSortDirection == SortDirection.Ascending)
        {
            GridViewSortDirection = SortDirection.Descending;
        }
        else
        {
            GridViewSortDirection = SortDirection.Ascending;
        };
        bindGrid();  
    }

Monday, 25 March 2013

html5 File Api & Read file in Javascript

 <style>
  .thumb {
    height: 75px;
    border: 1px solid #000;
    margin: 10px 5px 0 0;
  }
</style>

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

<script>
  function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object

    // Loop through the FileList and render image files as thumbnails.
    for (var i = 0, f; f = files[i]; i++) {

      // Only process image files.
      if (!f.type.match('image.*')) {
        continue;
      }

      var reader = new FileReader();

      // Closure to capture the file information.
      reader.onload = (function(theFile) {
        return function(e) {
          // Render thumbnail.
          var span = document.createElement('span');
          span.innerHTML = ['<img class="thumb" src="', e.target.result,
                            '" title="', escape(theFile.name), '"/>'].join('');
          document.getElementById('list').insertBefore(span, null);
        };
      })(f);

      // Read in the image file as a data URL.
      reader.readAsDataURL(f);
    }
  }

  document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>

Sunday, 3 March 2013

The difference between trigger() and triggerHandler()




<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("input").select(function(){
    $("input").after(" Text marked!");
  });
  $("#btn1").click(function(){
    $("input").trigger("select");
  });
  $("#btn2").click(function(){
    $("input").triggerHandler("select");
  });
});
</script>
</head>
<body>

<p>Click each button to see the difference between trigger() and triggerHandler().
<br><br>
<input type="text" value="Hello World">
<br><br>
<button id="btn1">trigger()</button>
<button id="btn2">triggerHandler()</button>

</body>
</html>

trigger() is call a internel code of select event and select a textbox
The trigger() method triggers the specified event and the default behavior of an event (like form submission) for the selected elements.

triggerHandler() is call internel code of select event ,but textbox is not select



Monday, 25 February 2013

Difference between IEnumerable VS IQueryable


   


IEnumerable

  1. IEnumerable exists in System.Collections Namespace.
  2. IEnumerable can move forward only over a collection, it can’t move backward and between the items.
  3. IEnumerable is best to query data from in-memory collections like List, Array etc.
  4. While query data from database, IEnumerable execute select query on server side, load data in-memory on client side and then filter data.
  5. IEnumerable is suitable for LINQ to Object and LINQ to XML queries.
  6. IEnumerable supports deferred execution.
  7. IEnumerable doesn’t supports custom query.
  8. IEnumerable doesn’t support lazy loading. Hence not suitable for paging like scenarios.
  9. Extension methods supports by IEnumerable takes functional objects.



    IQueryable

    1. IQueryable exists in System.Linq Namespace.
    2. IQueryable can move forward only over a collection, it can’t move backward and between the items.
    3. IQueryable is best to query data from out-memory (like remote database, service) collections.
    4. While query data from database, IQueryable execute select query on server side with all filters.
    5. IQueryable is suitable for LINQ to SQL queries.
    6. IQueryable supports deferred execution.
    7. IQueryable supports custom query using CreateQuery and Execute methods.

Difference between disabled and read only attributes


Disabled attribute

  1. Disabled form fields or elements values don’t post to the server for processing.
  2. Disabled form fields or elements don’t get focus.
  3. Disabled form fields or elements are skipped while tab navigation.
  4. Some browsers (Like IE) provide default style (Gray out or emboss text) for disabled form fields or elements.

Read Only Attribute

  1. Read Only form fields or elements values post to the server for processing.
  2. Read Only form fields or elements get focus.
  3. Read Only form fields or elements are included while tab navigation.
  4. Some browsers do not provide default style for Read-Only form fields or elements. 

Monday, 4 February 2013

jQuery-Selecting elements with uncommon / special characters in ID or class name

 
Just add double backslashes \\ before any of the special characters 
 
HTML generated by some CMS or frameworks include elements with rather 
uncommon characters in ID or class names. For example, some may have 
special characters such as ‘.’ or ‘[..]’ in the ID or Class. To work 
around this, a selector in jQuery should be written this way:
 
Example 1 
 
$("$title.id") // won't work for ID: title.id
 
$("$title\\.id") // works for ID: title.id  
 
 
Example 2
$("$title[id]") // won't work for ID: title[id]

$("$title\\[id\\]") // works for ID: title[id]
 

Sunday, 6 January 2013

jQuery to Validate File Upload Extension in File Upload Control



<script src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
$(function() {
$('#<%=fileupload1.ClientID %>').change(function() {
var fileExtension = ['jpeg', 'jpg', 'png', 'gif', 'bmp'];
if ($.inArray($(this).val().split('.').pop().toLowerCase(), fileExtension) == -1) {
alert("Only '.jpeg','.jpg', '.png', '.gif', '.bmp' formats are allowed.");
}
})
})
</script>

Tuesday, 1 January 2013

C# - Difference between Convert.tostring and .tostring() method

The basic difference between them is “Convert.ToString(variable)” handles NULL values even if variable value become null but “variable.ToString()” will not handle NULL values it will throw a NULL reference exception error.

 Example

//Returns a null reference exception for str.
string strque;
object i = null;
strque = i.ToString();
//Returns an empty string for str and does not throw an exception. 
string strque;
object i = null;
strque = Convert.ToString(i);

So as a good coding practice using “convert” is always safe.