Archive
How to access all types of server controls in ASP.Net using Javscript/JQuery OR Clear all server controls values using javascript or Jquery
How to access server side controls in ASP.Net using Javascript/JQuery
Using client side script such as JavaScript and Jquery, we can access all server side controls from ASPX page and it will get more performance on web application as it is not causing post back. While development we are frequently facing a feature to implement that “Clear All” function in the ASPX page. Suppose in a User Entry form, most probably there will be having a button for clear all values that user was trying to enter previously.
Get all textboxes, radio buttons and checkboxes in an ASPX page from JavaScript
To access all server side textbox controls in an aspx page using JavaScript, we have to find all controls with tag name is input and type is text. Below mentioned code will access all textboxes in a aspx page from JavaScript and clear those values to empty. The type of the radio button is ‘radio’ and checkbox is ‘checkbox’.
var elements = document.getElementsByTagName("input"); for (var ii = 0; ii < elements.length; ii++) { if (elements[ii].disabled == false) { if (elements[ii].type == "text") { elements[ii].value = ""; } if (elements[ii].type == "radio") { elements[ii].checked = false; } if (elements[ii].type == "checkbox") { elements[ii].checked = false; } } }
How to access dropdown list control in an ASPX Page using Javscript/JQuery
The tagname for the dropdownlist and listbox controls in an aspx page is ‘select’. We can access all dropdown list in a aspx page by checking tagname of each controls as same as below sample code.
var select = document.getElementsByTagName("select"); var length = select.length; for (i = 0; i < length; i++) { for (var j = 0; j < select[i].length; j++) { select[i][j].selected = false; } }
A simple example for accessing all server controls in an aspx page from javscript/jquery
We are demonstrating a sample web page containing different server controls like textbox, dropdownlist, checkbox, radiobutton, listbox etc.. and clearing all this values to default by using javscript/jquery. Here we are accessing all serverside controls without knowing their ids and names.
<%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”JqueryValidation.aspx.cs”
Inherits=”ExperimentLab.JqueryValidation” %>
<!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 runat="server"> <title>Clear all server controls using Javascript</title> <style type="text/css"> h1 { font-style: italic; font-weight: bold; color: Gray; font-size: small; text-decoration: underline; } body { color: Purple; } </style> </head> <body> <form id="form1" runat="server"> <div style="border: 1px solid black; padding: 20px; width: 60%;"> <table> <tr> <td> <h1> TextBoxes</h1> </td> </tr> <tr> <td> Name </td> <td> <asp:TextBox ID="txtName" runat="server" /> </td> </tr> <tr> <td> Age </td> <td> <asp:TextBox ID="txtAge" runat="server" /> </td> </tr> <tr> <td> <h1> Dropdown Lists</h1> </td> </tr> <tr> <td> Gender </td> <td> <asp:DropDownList ID="ddlGender" runat="server" Width="150"> <asp:ListItem Text="Select" Value="0"></asp:ListItem> <asp:ListItem Text="Male" Value="1"></asp:ListItem> <asp:ListItem Text="Female" Value="2"></asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td> Religion </td> <td> <asp:DropDownList ID="DropDownList1" runat="server" Width="150"> <asp:ListItem Text="Select" Value="0"></asp:ListItem> <asp:ListItem Text="Muslim" Value="1"></asp:ListItem> <asp:ListItem Text="Christian" Value="2"></asp:ListItem> <asp:ListItem Text="Hindu" Value="3"></asp:ListItem> <asp:ListItem Text="Others" Value="4"></asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td> <h1> Radio Button Lists</h1> </td> </tr> <tr> <td> Nationality </td> <td> <asp:RadioButtonList ID="rdNationality" runat="server"> <asp:ListItem Text="India" Value="0" /> <asp:ListItem Text="Other" Value="1" /> </asp:RadioButtonList> </td> </tr> <tr> <td> <h1> Checkbox Lists</h1> </td> </tr> <tr> <td> Languages Known </td> <td> <asp:CheckBoxList ID="chkLanguages" runat="server"> <asp:ListItem Text="Malayalam" Value="0" /> <asp:ListItem Text="English" Value="1" /> <asp:ListItem Text="Spanish" Value="2" /> </asp:CheckBoxList> </td> </tr> <tr> <td> <h1> Listbox</h1> </td> </tr> <tr> <td> Technical Skills </td> <td> <asp:ListBox ID="lstSkills" runat="server" SelectionMode="Multiple" Width="150"> <asp:ListItem Text="ASP.Net" Value="1" /> <asp:ListItem Text="SQL Server" Value="2" /> <asp:ListItem Text="MVC" Value="3" /> <asp:ListItem Text="JQuery" Value="4" /> <asp:ListItem Text="Javscript" Value="5" /> <asp:ListItem Text="MySQL" Value="6" /> </asp:ListBox> </td> </tr> <tr> <td> </td> <td> <asp:Button runat="server" ID="btnClick" Text="Clear All" OnClientClick="clearAllServerFields();" /> </td> </tr> </table> </div> <script type="text/javascript" language="javascript"> function clearAllServerFields() { //Code for accessing all dropdown lists and listboxes in an aspx page var select = document.getElementsByTagName("select"); var length = select.length; for (i = 0; i < length; i++) { for (var j = 0; j < select[i].length; j++) { select[i][j].selected = false; } } var elements = document.getElementsByTagName("input"); for (var ii = 0; ii < elements.length; ii++) { if (elements[ii].disabled == false) { //Code for accessing all textboxes in an aspx page if (elements[ii].type == "text") { elements[ii].value = ""; } //Code for accessing all radio buttons in an aspx page if (elements[ii].type == "radio") { elements[ii].checked = false; } //Code for accessing all checkboxes in an aspx page if (elements[ii].type == "checkbox") { elements[ii].checked = false; } } } } </script> </form> </body> </html>
How to implement Cache mechanism in ASP.Net/C# using simple example OR What is Output Caching and Fragment Caching in ASP.Net/C#
What is Caching in ASP.NET AND How can get access to cache object?
ASP.NET Caching is used to build high-performance, scalable ASP.NET web applications by storing responses in memory. On subsequent requests, the page code is not executed and the cached output is used to serve the request. The Cache object is defined in the ‘System.Web.Caching’ namespace. You can get a reference to
the Cache object by using the Cache property of the HttpContext class in the ‘System.Web’
namespace or by using the Cache property of the Page object.
What are dependencies in cache and types of dependencies?
When you add an item to the cache, you can define dependency relationships that can force that
item to be removed from the cache under specific activities of dependencies. Example if the
cache object is dependent on file and when the file data changes you want the cache object to be
update. Following are the supported dependency:-
• File dependency: – Allows you to invalidate a specific cache item when a disk
based file or files change.
• Time-based expiration: – Allows you to invalidate a specific cache item depending
on predefined time.
• Key dependency:- Allows you to invalidate a specific cache item depending when
another cached item changes.
What are different types of caching using cache object of ASP.NET?
You can use two types of output caching to cache information that is to be transmitted to and
displayed in a Web browser:
• Page Output Caching
Page output caching adds the response of page to cache object. Later when
page is requested page is displayed from cache rather than creating the
page object and displaying it. Page output caching is good if the site is
fairly static.
• Page Fragment Caching If parts of the page are changing, you can wrap the static sections as user
controls and cache the user controls using page fragment caching.
How will implement Page Output Caching?
Output cache functionality is achieved by using “OutputCache” attribute on ASP.NET page
header. Below is the syntax
<%@ OutputCache Duration="20" Location="Server" VaryByParam="state"VaryByCustom="minorversion" VaryByHeader="Accept-Language"%>
- • VaryByParam: – Caches different version depending on input parameters send
through HTTP POST/GET.
- • VaryByHeader: – Caches different version depending on the contents of the page
header.
- • VaryByCustom: –Lets you customize the way the cache handles page variations
by declaring the attribute and overriding the GetVaryByCustomString handler.
- • VaryByControl: –Caches different versions of a user control based on the value of
properties of ASP objects in the control.
Simple Example for Implementing Output Caching in ASP.Net/C#
Here we are going to demonstrate a very simple example for implementing ASP.Net Output Cache mechanism. In the below ASPX page we included Output Cache tage with duration of 20Sec. So the page will be cached for the next 20 Secs. After 20 Seconds, it will again loaded from the server.
Using Duration option
<%@ OutputCache Duration="20" VaryByParam="none" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="OutputCaching.aspx.cs" Inherits="FragmentCaching.OutputCaching" %>
<!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 runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblResult" runat="server"></asp:Label> <br />
<br />
<asp:Button ID="btnPostBack" runat="server" Text="Post Back" />
<p>
The page will be cached 20seconds, and then you can click Button to update datetime.
</p>
</div>
</form>
</body>
</html>
Using VaryByControl option
<%@ OutputCache Duration="2000" VaryByControl="ddlOption" %>
<!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>OutPut Cache Using VaryByControl Option</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblResult" runat="server"></asp:Label> <br />
<br />
<asp:DropDownList ID="ddlOption" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlOption_SelectedIndexChanged"><asp:ListItem Selected="True">Option One</asp:ListItem> <asp:ListItem>Option Two</asp:ListItem>
<asp:ListItem>Option Three</asp:ListItem>
</asp:DropDownList>
<p>
The page will be rendered from cache basing on the selected item of DropDownList.
The different item has corresponding cache.
</p>
</div>
</form>
</body>
</html>
Using VaryByCustom
<%@ OutputCache Duration="2000" VaryByCustom="browser" VaryByParam="none" %>
<!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>OutPut Cache Using VaryByCustom Option</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblResult" runat="server"></asp:Label> <br />
<br />
<asp:Button ID="btnPostBack" runat="server" Text="Submit" />
<p>
The page will be rendered from cache basing on the version of browser, such as IE and FireFox.
</p>
</div>
</form>
</body>
</html>
Using VaryByParam
<%@ OutputCache Duration="2000" VaryByParam="productID" %>
<!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="myHeader" runat="server">
<title>OutPut Cache Using VaryByParam Option</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblResult" runat="server"></asp:Label>
<p>
The page will be rendered from cache until the value of QueryString named "productID" is changed or Duration is expiration. </p>
</div>
</form>
</body>
</html>
How will implement Page Fragment Caching?
FragmentCaching.aspx:
Fragment caching is useful when you need to cache only a subset of a page. Navigation bars, header, and footers are good candidates for fragment caching. Here we are creating a ASPX page with two usercontrols inside it. We can control the caching of each usercontrols using fragment option as follows.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FragmentCaching.aspx.cs" Inherits="ExperimentLab.FragmentCaching" %>
<%@ Register TagPrefix="uc1" TagName="FragmentCtrl1" Src="FragmentCtrl1.ascx" %>
<%@ Register TagPrefix="uc1" TagName="FragmentCtrl2" Src="FragmentCtrl2.ascx" %>
<!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 runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
WebForm Time:
<asp:Label ID="Time" runat="server" ForeColor="Blue"></asp:Label>
</p>
<p>
<uc1:FragmentCtrl1 ID="FragmentCtrl11" runat="server"></uc1:FragmentCtrl1>
</p>
<p>
<uc1:FragmentCtrl2 ID="FragmentCtrl21" runat="server"></uc1:FragmentCtrl2>
</p>
</div>
</form>
</body>
</html>
CodeBehind
protected void Page_Load(object sender, EventArgs e)
{
Time.Text = "WebFormTime: " + DateTime.Now.TimeOfDay.ToString(); }
FragmentCtrl1.ascx:
<%@ OutputCache Duration="40" VaryByParam="none"%>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FragmentCtrl1.ascx.cs" Inherits="ExperimentLab.FragmentCtrl1" %>
<asp:Label ID="CacheEntryTime" runat="server"></asp:Label>
CodeBehind :
protected void Page_Load(object sender, EventArgs e)
{
CacheEntryTime.Text = "FragmentCtrl1: " + DateTime.Now.TimeOfDay.ToString();
}
FragmentCtrl2.ascx:
<%@ OutputCache Duration="60" VaryByParam="none" VaryByControl="MyRadioButtonList"%>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FragmentCtrl2.ascx.cs" Inherits="ExperimentLab.FragmentCtrl2" %>
<asp:Label ID="CacheEntryTime" runat="server"></asp:Label>
<p>
<asp:RadioButtonList ID="MyRadioButtonList" runat="server"> <asp:ListItem Selected="True">Yes</asp:ListItem>
<asp:ListItem>No</asp:ListItem>
<asp:ListItem>Maybe</asp:ListItem>
</asp:RadioButtonList>
</p>
<p>
<asp:Button ID="Button1" runat="server" Text="Submit" />
</p>
Code Behind :
protected void Page_Load(object sender, EventArgs e)
{
CacheEntryTime.Text = "FragmentCtrl2: " + DateTime.Now.TimeOfDay.ToString();
}
How to merge two data tables in ASP.Net/C# OR Merge 2 DataTables and store in a new one in ASP.Net/C#
Merge multiple data-tables data into a another data-table using C#/ASP.Net
Here we are going to demonstrate a sample application which shows merge two data tables in ASP.Net. In this sample we are having two data tables with some data and merge data of each tables data. We binds first data table to a data grid second one to another grid and third data grid binds with merged data table.

Merge data tables in C#/ASP.Net
ASPX Page for Example of merge two datatables in C#/ASP.Net
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MergeDataTable.aspx.cs" Inherits="ExperimentLab.MergeDataTable" %> <!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 runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> First DataTable <asp:GridView ID="gdDataTableOne" runat="server" /><br /> Second DataTable <asp:GridView ID="gdDataTableTwo" runat="server" /><br /> Merged DattaTable <asp:GridView ID="gdDataTableMergedData" runat="server" /><br /> </div> </form> </body> </html> -*******
CODE BEHIND Page for Merge datatable in C#/ASP.Net
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace ExperimentLab { public partial class MergeDataTable : System.Web.UI.Page { DataTable dtOne = new DataTable(); DataTable dtTwo = new DataTable(); protected void Page_Load(object sender, EventArgs e) { fillDataTableOne(); fillDataTableTwo(); mergeDataTables(); } private void mergeDataTables() { dtOne.Merge(dtTwo, false); gdDataTableMergedData.DataSource = dtOne; gdDataTableMergedData.DataBind(); } private void fillDataTableOne() { dtOne.Columns.Add("EmpID", typeof(Int32)); dtOne.Columns.Add("EmployeeName", typeof(string)); dtOne.Columns.Add("Department", typeof(string)); dtOne.Columns.Add("City", typeof(string)); DataRow dtOnerow = dtOne.NewRow(); // Create New Row dtOnerow["EmpID"] = 1; //Bind Data to Columns dtOnerow["EmployeeName"] = "Ram"; dtOnerow["Department"] = "Admin"; dtOnerow["City"] = "Kochi"; dtOne.Rows.Add(dtOnerow); dtOnerow = dtOne.NewRow(); // Create New Row dtOnerow["EmpID"] = 2; //Bind Data to Columns dtOnerow["EmployeeName"] = "Mahesh"; dtOnerow["Department"] = "Finance"; dtOnerow["City"] = "Delhi"; dtOne.Rows.Add(dtOnerow); dtOnerow = dtOne.NewRow(); // Create New Row dtOnerow["EmpID"] = 3; //Bind Data to Columns dtOnerow["EmployeeName"] = "Raj"; dtOnerow["Department"] = "Admin"; dtOnerow["City"] = "Kolkata"; dtOne.Rows.Add(dtOnerow); dtOnerow = dtOne.NewRow(); // Create New Row dtOnerow["EmpID"] = 4; //Bind Data to Columns dtOnerow["EmployeeName"] = "Virbal"; dtOnerow["Department"] = "HR"; dtOnerow["City"] = "Mumbai"; dtOne.Rows.Add(dtOnerow); gdDataTableOne.DataSource = dtOne; gdDataTableOne.DataBind(); } private void fillDataTableTwo() { dtTwo.Columns.Add("EmpID", typeof(Int32)); dtTwo.Columns.Add("EmployeeName", typeof(string)); dtTwo.Columns.Add("Department", typeof(string)); dtTwo.Columns.Add("City", typeof(string)); DataRow dtTworow = dtTwo.NewRow(); // Create New Row dtTworow["EmpID"] = 5; //Bind Data to Columns dtTworow["EmployeeName"] = "John"; dtTworow["Department"] = "Delivery"; dtTworow["City"] = "Goa"; dtTwo.Rows.Add(dtTworow); dtTworow = dtTwo.NewRow(); // Create New Row dtTworow["EmpID"] = 6; //Bind Data to Columns dtTworow["EmployeeName"] = "Jacob"; dtTworow["Department"] = "Finance"; dtTworow["City"] = "Kolkata"; dtTwo.Rows.Add(dtTworow); dtTworow = dtTwo.NewRow(); // Create New Row dtTworow["EmpID"] = 7; //Bind Data to Columns dtTworow["EmployeeName"] = "Srini"; dtTworow["Department"] = "HR"; dtTworow["City"] = "Jaipur"; dtTwo.Rows.Add(dtTworow); dtTworow = dtTwo.NewRow(); // Create New Row dtTworow["EmpID"] = 8; //Bind Data to Columns dtTworow["EmployeeName"] = "Gopal"; dtTworow["Department"] = "InfraStructure"; dtTworow["City"] = "Chennai"; dtTwo.Rows.Add(dtTworow); gdDataTableTwo.DataSource = dtTwo; gdDataTableTwo.DataBind(); } } }
How to implement Password validation in ASP.Net/C# OR Implement Password strength using Jquery in ASP.Net
DOWNLOAD SOURCE CODE FOR PASSWORD STRENGTH CHECKER
How to show Password Strength image to user in ASP.Net
Register/change password pages on most of the application showing password strength information to user while entering password in the textbox. It allows to user to enter a strong password for register the pages. We can implement Password Strength Checker in different methods in ASP.Net application. Its better to do it in the client side itself so that user doesn’t feels post back in the page.
Implement Password Strength Checker using Jquery
Here we are going to demonstrate a sample application to implement Password Strength Checker using Jquery. The application shows the status of entered password by each alphabet changes in the textbox such as Week, Good, Strong etc..
ASPX/HTML Page for Password Strength Checker
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>jQuery Validation Plugin Password Extension demo</title> <link rel="stylesheet" type="text/css" media="screen" href="../jquery.validate.password.css" /> <script type="text/javascript" src="../lib/jquery.js"></script> <script type="text/javascript" src="../lib/jquery.validate.js"></script> <script type="text/javascript" src="../jquery.validate.password.js"></script> <script id="demo" type="text/javascript"> $(document).ready(function () { $("#register").validate(); $("#password").valid(); }); </script> <style> label, input { float: left; } input { margin-left: 1em; } label.error { display: none !important; } .password-meter { float: left; } </style> </head> <body> <form id="register"> <div> Password Strength Checker Demo Using JQuery.. powered by <a href="http://tuvian.con"> tuvian</a> </div> <br /> <br /> <label for="password"> Password:</label> <input class="password" name="password" id="password" /> <div class="password-meter"> <div class="password-meter-message"> </div> <div class="password-meter-bg"> <div class="password-meter-bar"> </div> </div> </div> </form> </body> </html>
DOWNLOAD SOURCE CODE FOR PASSWORD STRENGTH CHECKER
How to create a drag able and resizable div in ASP.Net/C# OR How to make a div Dragable and Resizable using Jquery in ASP.Net/C#
DOWNLOAD SOURCE CODE FOR DAG ABLE AND RE-SIZABLE DIV
Resize and drag a div in ASPX page/HTML Page
Here we are going to demonstrate making a div that can be drag and resize by users. We are achieving this drag and resize of div functionality using Jquery files. We already posted some article related with Jquery and Javascript. Here we are again demonstrating a detailed post regarding Draggable and Resizable div using Jquery files.
Drag able and Resizable Div using Jquery in HTML/ASPX Page
For implementing drag and resize Div, we need to download following jquery and css files and included in the ASPX/HTML page.
1. jquery.min.js – Download from here
2. jquery-ui.min.js – Download from here
3. jquery-ui.css – Download from here
After downloading above files we need to create a HTML/ASPX Page and include above files as mentioned below.
<script src="jquery.min.js" type="text/javascript"></script> <script src="jquery-ui.min.js" type="text/javascript"></script> <link rel="stylesheet" href="jquery-ui.css" type="text/css" media="all" />
HTML/ASPX Page for creating drag able and re sizable div
<!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> <title>Untitled Page</title> <script src="jquery.min.js" type="text/javascript"></script> <script src="jquery-ui.min.js" type="text/javascript"></script> <link rel="stylesheet" href="jquery-ui.css" type="text/css" media="all" /> <style type="text/css"> #resizediv { width: 150px; height: 150px; padding: 0.5em; background: #EB5E00; color: #fff; } </style> <script type="text/javascript"> $(document).ready(function () { $("#resizediv").resizable(); $("#resizediv").draggable(); }); </script> </head> <body> <form id="form1" runat="server"> <div id="resizediv"> Drag me ... or Resize me....<br /> This is a Div that can be Drag and Resize by you.. . </div> </form> </body> </html> ------ DOWNLOAD SOURCE CODE FOR DAG ABLE AND RE-SIZABLE DIV
How to create always visible div using Ajax/ Always visible div in ASP.Net using Ajax
DOWNLOAD SOURCE CODE FOR ALWAYS VISIBLE DIV
Create very simple always visible div using ajax in ASP.Net
Here we are demonstrating how to create a very simple always visible div using Ajax in ASP.Net/C#. Some of the WebPages we may need to show some information always visible to user even they are scrolling down and up. In this situation we can achieved it by different method. In our previous post we already posted how to create a always visible div using CSS. Here we are going to implement the always visible div using Ajax in ASP.Net/C#.
Register Ajax Control Toolkit
In order to implement always visible div using Ajax, we need to download and refer ajax control toolkit to our project. First of all download ajaxtoolkit dll from here and right click the ‘References’ under the ASP.Net project from Visual Studio and browse the dll and press OK.
In the ASPX page we need to register this ajax toolkit dll like below mentioned code.
<%@ Register Assembly=”AjaxControlToolkit” Namespace=”AjaxControlToolkit” TagPrefix=”ajax” %>
How to implement AlwaysVisibleControlExtender in AJAX Controls?
Always vissible Control Extender in Ajax control tool kit is using to implement always vissible div or any controls in ASP.Net/C#.
After registering the ajax control tool kit we can implement alwaysvisibleextender as below mentioned code.
<ajax:alwaysvisiblecontrolextender id="ace" runat="server" targetcontrolid="pnlTimer" verticalside="Top" verticaloffset="10" horizontalside="Right" horizontaloffset="10" scrolleffectduration=".1" />
We are having some properties in the alwaysvisiblecontrolextender and we can adjust the postion and controls for always visible extender. Below are the main properties of alwaysvissibleextender in ajax.
TargetControlID – ID of control for this extender to always make visible
HorizontalOffset – Distance to the HorizontalSide edge of the browser in pixels from the same side of the target control. The default is 0 pixels.
HorizontalSide – Horizontal edge of the browser (either Left, Center, or Right) used to anchor the target control. The default is Left.
VerticalOffset – Distance to the VerticalSide edge of the browser in pixels from the same side of the target control. The default is 0 pixels.
VerticalSide – Vertical edge of the browser (either Top, Middle, or Bottom) used to anchor the target control. The default is Top.
ScrollEffectDuration – Length in seconds of the scrolling effect to last when the target control is repositioned. The default is .1 second.
ASPX Page
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxControls.aspx.cs" Inherits="ExperimentLab.AjaxControls" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <ajax:ToolkitScriptManager ID="Scriptmanager1" runat="server"> </ajax:ToolkitScriptManager> <div> <ajax:AlwaysVisibleControlExtender id="ace" runat="server" targetcontrolid="pnlTimer" verticalside="Top" verticaloffset="10" horizontalside="Right" horizontaloffset="10" scrolleffectduration=".1" /> <div runat="server" id="pnlTimer" style="border: 2px solid green; height: 100px; width: 200px; text-align: center; padding-top: 50px; font-weight: bold;"> This div is always visible to user </div> <br /> <br /> Scroll down . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> Scroll down <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> Scroll down <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> . <br /> Still 'Always visible div' is available ...! </div> </form> </body> </html> ------
How to Create and use Table-Valued Parameter in C# and T-SQL/ How to pass table to stored procedures in SQL
What is Table – Valued Parameter in SQL Server 2008?
Table-valued parameters provide an easy way to marshal multiple rows of data from a client application to SQL Server without requiring multiple round trips or special server-side logic for processing the data. You can use table-valued parameters to encapsulate rows of data in a client application and send the data to the server in a single parameterized command. The incoming data rows are stored in a table variable that can then be operated on by using Transact-SQL.
What we are going to do with Table – Valued Parameter?
We are going to demonstrate a very simple example for using Table – Valued parameter. In this sample project we will insert bulk amount of data into the table by passing a bulk data using datatable in C# to SQL stored procedure.
Create a Table for insert data using Table – Valued Parameter
Here we are having a table named Officer and having three fields ID,Name and Salary. We are going to fill the table with bulk data.
CREATE TABLE Officer( ID INT PRIMARY KEY IDENTITY(1,1), NAME VARCHAR(50), SALARY DECIMAL(18, 0))
Stored Procedure for insert data by accepting Table Valued Parameter
Now we are going to create a Stored Procedure that accepting a table type as parameter and insert values in this type into the table.
CREATE PROCEDURE InsertOfficerDetails ( @OfficerData OfficerDetails readonly ) AS INSERT INTO Officer (Name, Salary) SELECT Name, Salary FROM @OfficerData;
C# code to call Stored Procedure to insert data in to the table using Table – Valued Parameter
We are creating a simple ASPX page with a single button. When we click this button we are calling above stored procedure by creating and passing some amount of sample data to the stored procedure as Table – Valued Parameter.
ASPX Page
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CallSP.aspx.cs" Inherits="ExperimentLab.CallSP" %> <!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"> <div> <asp:Button ID="btnCallSP" runat="server" Text="Call SP" OnClick="btnCallSP_Click" /> </div> </form> </body> </html>
Code Behind
protected void btnCallSP_Click(object sender, EventArgs e) { try { DataTable dt = new DataTable(); DataColumn dtCol = new DataColumn(); dtCol.ColumnName = "ID"; dt.Columns.Add(dtCol); dtCol = new DataColumn(); dtCol.ColumnName = "Name"; dt.Columns.Add(dtCol); dtCol = new DataColumn(); dtCol.ColumnName = "Salary"; dt.Columns.Add(dtCol); for (int i = 0; i < 10; i++) { DataRow dr = dt.NewRow(); dr["Name"] = "Name " + i; dr["Salary"] = 1000 + i; dr["ID"] = i; dt.Rows.Add(dr); } string connStr = ConfigurationManager. AppSettings["LocalSqlServer"].ToString(); SqlConnection con = new SqlConnection(connStr); using (var conn = new SqlConnection(connStr)) using (var cmd = conn.CreateCommand()) { cmd.Connection = con; con.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "dbo.InsertOfficerDetails"; SqlParameter param = cmd.Parameters.AddWithValue("@OfficerData", dt); cmd.ExecuteNonQuery(); } } catch (Exception a) { Response.Write(a.Message); } }
Web.Config
<appSettings> <add key="LocalSqlServer" value="Database=testDB;Server=Servername\SQLEXPRESS;User Id=userid;Password=password"/> </appSettings>
Hence we discussed about how to create and use Table valued parameters, how to create a store procedure with table type as parameter, how to pass table to stored procedure in C#/Asp.Net, how to insert multiple rows of data to a table with table valued parameter in SQL, how to insert bulk data to SQL table using Table Valued Parameter in SQL Server 2008 etc..
How to create asynchronous file up loader using ajax in ASP.Net
Ajax files uploader in ASP.Net/C# to upload files to Server as asynchronous
In most of the web applications, there might be have an option to upload files to server. If we are using ASP.Net file uplaoder option to upload files, will have postback after every server request. It may be very disturbance to the user. In order to avoid postback while uploading files into server in ASP.Net/C#, we can implement AJAX mechanism.
Include AjaxControlToolkit reference to the Project
First of all we need to refer ajax tool kit to our project. In order to do this, right click the project and add reference and select the folder that included the ajaxtoolkit file. Once we added, in the aspx page below line will be displayed
<%@ Register Namespace="AjaxControlToolkit" Assembly="AjaxControlToolkit" tagPrefix="ajax" %>
After that we can incuded ajax uploader into the ASPX page like this.
<ajax:AsyncFileUpload ID="fileUpload1" OnClientUploadComplete="uploadComplete"OnClientUploadError="uploadError" CompleteBackColor="White" Width="350px" runat="server" UploaderStyle="Modern"UploadingBackColor="#CCFFFF" ThrobberID="imgLoad" OnUploadedComplete="fileUploadComplete" />
There are some special kind if events are available in the control like onUploadComplete, OnClineUploadError ..
OnClientUploadError – This property is used to execute the client side JavaScript function if file uploading failed.
OnClientUploadStarted – This property is used to execute the client side JavaScript function whenver file uploading start.
OnClientUploadComplete – This property is used to execute the client side JavaScript function after file successfully uploaded.
CompleteBackColor – This property is used to set fileupload control background after file upload complete its default value ‘Lime’.
ErrorBackColor – This property is used to set fileupload control background if file upload failed its default value ‘Red’.
UploadingBackColor – This property is the id of the control which is seen during upload file.
UploaderStyle – This property is used to set fileupload control appearance style either Modern orTraditional. By default its value “Traditional”.
ThrobberID – ID of control that is shown while the file is uploading.
ASPX PAGE
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>Untitled Page</title> <script type="text/javascript"> // This function will execute after file uploaded successfully function uploadComplete() { document.getElementById('<%=lblMsg.ClientID %>').innerHTML = "File Uploaded Successfully"; } // This function will execute if file upload fails function uploadError() { document.getElementById('<%=lblMsg.ClientID %>').innerHTML = "File upload Failed."; } </script> </head> <body> <form id="form1" runat="server"> <ajax:ToolkitScriptManager ID="scriptManager1" runat="server"/> <div> <ajax:AsyncFileUpload ID="fileUpload1" OnClientUploadComplete="uploadComplete"OnClientUploadError="uploadError" CompleteBackColor="White" Width="350px" runat="server" UploaderStyle="Modern"UploadingBackColor="#CCFFFF" ThrobberID="imgLoad" OnUploadedComplete="fileUploadComplete" /><br /> <asp:Image ID="imgLoad" runat="server" ImageUrl="loading.gif" /> <br /> <asp:Label ID="lblMsg" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
CODE BEHIND
using System; using System.Web.UI; using AjaxControlToolkit; protected void fileUploadComplete(object sender, AsyncFileUploadEventArgs e) { string filename = System.IO.Path.GetFileName(fileUpload1.FileName); fileUpload1.SaveAs(Server.MapPath("Files/") + filename); }
Recent Comments