Wednesday, December 26, 2012

Server Application Unavailable

Please visit my new Web Site

 If you have ever received an error message in a .Net application that simply stated "Server Application Unavailable" you might find this useful.

Also you found below message including above:
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.

If you run more than one .Net framework in your web server and use same application pool for different web application with different framework than you will get such type of error message.

Go to IIS. Right click on Application Pools--> NEW-->Application Pool.
Now go to your site-->right click-->Properties-->Select the newly created Application pool at the bottom of virtual directory tab.

Hope it will help you.

Friday, April 6, 2012

How to get SP Trigger View code from query analyzer in SQL Server

Please visit my new Web Site

Sometimes upstream (place to collect data) or your vendor may give you the permission on some Stored Procedure or Trigger or View or even you may have not SQL management Studio or you may can not view those in Management studio. So at that moment how one can view the code. The solution is simple. Use builtin sp_helptext.

Sample Output Screenshot:

View SP Code by TSQL

sp_helptext 'your sp/view/trigger name'
Lets say i have a stored procedure named TestProcedure then the TSQL will be:
sp_helptext 'TestProcedure'
Hope it will helps.

Saturday, March 24, 2012

Sort multiple column of a DataView in C#

Please visit my new Web Site

In many case studies we found that when sorting is required developers done this job in back end means running extra query in database even though he has an already disconnected record set in his hand like DataView which also create an overhead to the application. One can easily sort the DataView columns in both ascending and descending order. Its very simple and for showing or displaying any type of sorted data in your report or details page you can do it without connecting to the Database through disconnected DataView. To define the sort direction we can use ASC or DESC keyword after the column name. For multiple column we just add comma separator for each column.

Code Example is given below:

// Create DataView from a DataTable Instance
DataView DV = datatable1.DefaultView;

// If you do not define sorting order then default Ascending order will be applied
DV.Sort = "ProductName ASC, CategoryName ASC, Price DESC";

For more details on DataTable or DataView CLICK HERE.

Thursday, March 1, 2012

Master page Group Radio Button problem Vertically in Gridview Control using Javascript in C#

Please visit my new Web Site

In those cases where you need to choose or select one value from a list of values then grouping radio button is required. But unfortunately in ASP.Net there is no easiest built in way to group radio button vertically. But some times to meet client requirement we need to do group Radio Button vertically. It’s a grouping problem which most of the developer experience at least once in his student life or development life. Here i will try to write a javascript function to resolve Radio Button grouping problem within Gridview rows. It will also work in master page as well as in non master page. If you need to grouping Horizontally then read my THIS POST.

Problem in Grouping Radio Button

To do that we need to write a Javascript which will ensure single selection from a set of Radio Buttons in the following way:
1. First we need to know which Radio Button is clicked
2. Pass the selected Radio Button reference to the Javascript Function
3. Loop through Radio Button Array and set checked=false for others
4. Now you will get only one selected Radio Button at a time in your whole Gridview control

The complete HTML Markup is:
<script type="text/javascript">
        function GridSelection(objType)
            var oItem = objType.children;
            var SelectedCtrl=(objType.type=="radio")?objType:objType.children.item[0];
            if(arrRButtons[i].type=="radio" && arrRButtons[i].id!

    <b>Who is your favourite player:</b><br />
    <asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" HorizontalAlign="Left">
        <asp:boundfield datafield="Name" headertext="Super Player" />
        <asp:templatefield headertext="Choose">
                <asp:radiobutton runat="server" id="chkChoose" onclick="javascript:GridSelection(this);"/>
    <asp:Button runat="server" ID="cmdGet" Text="Get Selected Value" OnClick="cmdGet_Click" /><br />
    <asp:Literal runat="server" ID="ltrl"></asp:Literal>

The complete Codebehind Code is:
protected void Page_Load(object sender, EventArgs e)
        if (!IsPostBack)
            DataTable dtPlayers = new DataTable("Super_Player");
            dtPlayers.Columns.Add(new DataColumn("ID", System.Type.GetType("System.UInt64")));
            dtPlayers.Columns.Add(new DataColumn("Name"));
            dtPlayers.Rows.Add(1, "Leonel Messi");
            dtPlayers.Rows.Add(2, "Christiano Ronaldo");
            dtPlayers.Rows.Add(3, "Carlos Tevez");
            dtPlayers.Rows.Add(4, "Xavi");
            dtPlayers.Rows.Add(5, "Iniesta");
            GridView1.DataSource = dtPlayers;

    protected void cmdGet_Click(object sender, EventArgs e)
        foreach (GridViewRow oRow in GridView1.Rows)
            if (((RadioButton)oRow.FindControl("chkChoose")).Checked)
                ltrl.Text = "Selected ID = " + GridView1.DataKeys[oRow.RowIndex].Value + "
 Selected Name = " + oRow.Cells[0].Text;
            // Now You can do update or delete or anything.................. Based on selection

Hope now you can apply single selection or group Radio Button in your Master Pages as well as normal pages. The javascirpt code is tested for Internet Explorer, Mozila Firefox, Opera, Google Chrome etc.

Leave your comment if can not implement.

Happy coding.

Read DataKeyNames value of Gridview row using C#

Please visit my new Web Site

When we need to bind data in a Gridview column then we need to add an unique reference number which will help to identify a specific object or a datarow. Some developers use hidden field to store the ID column of a table on which he can INSERT UPDATE or DELETE based on hidden ID column. But this is not a good practice. Because Gridview control gives us a property named DataKeyNames on which we can assign our unique ID or code column value to distinguish invidual row. Here in this example i will show how one can read DataKeyNames value from code behind. Gridview control also provides us a facility to assign more ID or Code type column in a single Gridview for each DataRow item specialy for composite keys of a table to bind. I have already discuss "How to use more DataKeynames in a Gridview". Also i have discuss on "Jquery to read DatakeyNames value of Selected Rows of GridView".

Sample Output:
Read Datakeynames of a Gridview row

HTML Markup Code:
<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" HorizontalAlign="Left">
            <asp:boundfield datafield="Name" headertext="Super Player" />

Codebehind Code:
protected void Page_Load(object sender, EventArgs e)
        if (!IsPostBack)
            DataTable dtPlayers = new DataTable("Super_Player");
            dtPlayers.Columns.Add(new DataColumn("ID", System.Type.GetType("System.UInt64")));
            dtPlayers.Columns.Add(new DataColumn("Name"));
            dtPlayers.Rows.Add(1, "Leonel Messi");
            dtPlayers.Rows.Add(2, "Christiano Ronaldo");
            dtPlayers.Rows.Add(3, "Carlos Tevez");
            dtPlayers.Rows.Add(4, "Xavi");
            dtPlayers.Rows.Add(5, "Iniesta");
            GridView1.DataSource = dtPlayers;

            foreach (GridViewRow oRow in GridView1.Rows)
                Response.Write("DataKeyNames="+GridView1.DataKeys[oRow.RowIndex].Value + "
Hope now you can use DataKeyNames property of a Gridview control efficiently when required.

How to get week number from a date in SQL Server

Please visit my new Web Site

As a developer i beleive that most of the times we need to built our query based on date column. Some times we need to get or find out the week number from a given date. Sql server provides us such an easy way to find out the week number from a date. The function is DATEPART. By using DATEPART function we can calculate week number easily. Please follow my example code to achieve the expected result.

Sample Output:
TSQL_DATEPART Function Example

To run the example find the following code:
CREATE TABLE [dbo].[Employee]
 [ID] [int] NULL,
 [Name] [varchar](200) NULL,
 [JoiningDate] [smalldatetime] NULL

INSERT INTO EMPLOYEE VALUES(1,'Shawpnendu','Jan 01, 2012')
INSERT INTO EMPLOYEE VALUES(2,'Bimalandu','Jan 10, 2012')
INSERT INTO EMPLOYEE VALUES(3,'Purnendu','Jan 20, 2012')
INSERT INTO EMPLOYEE VALUES(4,'Amalendu','Jan 30, 2012')
INSERT INTO EMPLOYEE VALUES(5,'Chadbindu','Feb 05, 2012')

SELECT *,DATEPART(wk,JoiningDate) [Week Number] FROM EMPLOYEE

Hope now you can retrieve week number from a given date using DATEPART TSQL function.

Tuesday, February 28, 2012

Can not open Task Manager of Windows remote desktop session?

Please visit my new Web Site

Some times we need to open remote desktop session Task Manager from our workstation or PC. I think every one will try to open by ALT+CTRL+DEL. But you can not because it open your current desktop Task Manager. But there is a simple tricks you can apply to open the Remote desktop session Task Manager which is ALT+CTRL+END.

Its working am i right? Now you can kill any hanged process or open Explorer. In my cases i need most of the time to kill the explorer of my working server. After closing the explorer from Task Manager and you will close the Task Manager window then you have no way to open the remote desktop session Task Manager without the HOT KEY ALT+CTRL+END.

If you still can't open then apply CTRL + SHIFT + ESC.

Both hot key will work on Windows Server 2003, Windows Server 2008, XP, Windows 7 Etc.

Another reason to apply this tricks is: Lets say you have 5 session of a server. One of them needs to close
the explorer but you can not identify which session you need to close. At that moment its also work for you.

For a practical example CLICK HERE.

Hope it will help you.

Friday, January 27, 2012

Basic introduction of HTTP Protocol

Please visit my new Web Site

At first what is Protocol? Protocol means a way of communication between two or more parties. To connect two parties like client and server at first we need to establish a connection between them and after that we need to start communication in such a way so that anyone can understand each other. To establish a connection we need a special protocol named Transmission Control Protocol/Internet Protocol (TCP/IP). Which has become the industry-standard method of interconnecting hosts, networks, and the Internet. Now think that connection between client and server has been established. Now we need to set a way of communication like messages, so that they can understand both. This message format standard is HTTP which defines how client will send a request to the server and how the server will response. HTTP stands for "Hypertext Transfer Protocol". In case of Web Browser and Web Server, The Web Browser is HTTP Client and the Web Server is HTTP Server.

More precisely the definition of HTTP protocol is a protocol designed to allow the transfer of Hypertext Markup Language (HTML) documents.

An HTTP transaction is divided into four steps:
1. The browser opens a connection by using TCP/IP.
2. The browser sends a request to the server --> The request is a message and the message format follows HTTP Protocol.
3. The server sends a response to the browser --> The response also a message and the message format follows HTTP Protocol.
4. The connection is closed.

So what we understand? We understand on the Internet, HTTP communication generally takes place over TCP connections. The default port is 80 but other ports can be used..

HTTP Protocol is Connection less:
The protocol is called connection less because An HTTP client opens a connection and sends a request message to the HTTP server, After that the server then returns a response message containing the resource which was requested. After delivering the response, the server closes the connection unlike other protocol likes FTP, which makes HTTP Protocol is a connection less protocol.

HTTP protocol is State less:
When the server responded of client request, the connection between client and server is closed means forgotten. There is no "Tracking System" between client and server. The HTTP server takes every request as a new request means never maintain any connection information between transactions. But there are some ways to maintain states between client and server which i have already described in my previous article: "Passing data/parameters/values from one aspx page to another aspx page".

HTTP Message Example:
GET /path/file.html HTTP/1.0
User-Agent: HTTPTool/1.0
[blank line here]

HTTP/4.0 200 OK
Content-Type: text/html
Content-Length: 2000

<h1>HELLO WORLD</h1>
(more file contents)
To know more about Content-Type CLICK HERE.

HTTP Methods:
The most commonly used methods are GET and POST. To know more about Get and POST method click "Difference between HTTP GET and POST methods".

Other Common Methods are:
HEAD: A HEAD request is just like a GET request, except it asks the server to return the response headers only, and not the actual resource (i.e. no message body). This is useful to check characteristics of a resource without actually downloading it which saves bandwidth. Mostly wide use of this method is crawler.

PUT: Mostly used for uploading files.

Common HTTP Response Status Code:
Successful (2xx):
200: OK
201: Created
202: Accepted
203: Non-Authoritative Information
204: No Content -205 Reset Content
206: Partial Content

Redirection (3xx):
300: Multiple Choices
301: Moved Permanently
302: Moved Temporarily
303: See Other
304: Not Modified
305: Use Proxy

Client error (4xx):
400: Bad Request
401: Unauthorized
402: Payment Required
403: Forbidden
404: Not Found
405: Method Not Allowed
406: Not Acceptable
407: Proxy Authentication Required
408: Request Timeout
409: Conflict
410: Gone
411: Length Required
412: Precondition Failed
413: Request Entity Too Large
414: Request-URI Too Long
415: Unsupported Media Type

Server error (5xx):
500: Internal Server Error
502: Bad Gateway
503: Service Unavailable
504: Gateway Timeout
505: HTTP Version Not Supported

Monday, January 16, 2012

Basic difference on GET and Post HTTP methods

Please visit my new Web Site

Might be this the first interview question by the viva board. Which is very basic and you have to explain clearly. That's why i am trying to write the post "Basic difference between GET and POST method". Basically both method is used for submitting data into server. Read the differences from below:

Post Mechanism:
1. GET request is sent via URL.
2. Post request is sent via HTTP request body or you can say internally.

GET POST Difference
Figure: Get Method Indication

Sample Code:
<Form method="GET" Action="">
<input type="Text" name="Name" />
<input type="submit" value="Check" />

Form Default Method:
1. GET request is the default method.
2. You have to specify POST method within form tag like <Form method="POST".......

1. Since GET request is sent via URL, so that we can not use this method for sensitive data data.
2. Since Post request encapsulated name pair values in HTTP request body, so that we can submit sensitive data through POST method.

1. GET request has a limitation on its length. The good practice is never allow more than 255 characters.
2. POST request has no major limitation. Read discussion part later of this article.

Caching or Bookmarking:
1. GET request will be better for caching and bookmarking.
2. POST request has not.

1. GET request is SEO friendly.
2. POST request has not.

Data Type:
1. GET request always submitted data as TEXT.
2. POST request has no restriction.

Best Example:
1. SEARCH will be the best example for GET request.
2. LOGIN will be the best example for POST request.

HTTP Request Message Format:
GET /path/file.html?SearchText=Interview_Question HTTP/1.0
User-Agent: HTTPTool/1.0
[blank line here]

POST /path/script.cgi HTTP/1.0
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 8


Some comments on the limit on QueryString / GET / URL parameters Length:
1. 255 bytes length is fine, because some older browser may not support more than that.
2. Opera supports ~4050 characters.
3. IE 4.0+ supports exactly 2083 characters.
4. Netscape 3 -> 4.78 support up to 8192 characters.
5. There is no limit on the number of parameters on a URL, but only on the length.
6. The number of characters will be significantly reduced if you have special characters like spaces that need to be URLEncoded (e.g. converted to the '%20').
7. If you are closer to the length limit better use POST method instead of GET method.

Sunday, January 8, 2012

Short description on MIME type

Please visit my new Web Site

MIME = Multi-purpose Internet Mail Extensions.

This article will explain "What is ENC MIME type". Its a commonly used basic viva/written interview question. MIME type is a standard way of defining file types between HTTP Client and HTTP Server. Without a standard MIME type both client and server can not understand what type of file client received since a file has many extensions like HTML and HTM. To overcome this problem MIME type takes place.

Usually MIME type consists of two parts. One is type and another one is subtype which is separated by a front slash (/). For example the MIME type of Microsoft Excel file is application and the subtype is So the complete MIME type will be application/ Hope you can understand now.

The web server determine correct MIME type by using a Content-type: header when it responds to a HTTP client request like web browser's.

The following table shows some common MIME types:

text/html: HTML Web Page.
application/octet-stream: To Download a file.
application/msword: For Microsoft Word Document.
application/ For Microsoft Word Excel
application/xml: For XML file
application/zip: For ZIP file
image/bmp: For BMP image
image/png: For PNG type image
image/jpeg: For JPEG file
audio/mpeg: For MPEG type

An example of using MIME type in ASP.Net C#... CLICK HERE

Some other MIME types:

File type MIME type
ai application/postscript
aif audio/x-aiff
aifc audio/x-aiff
aiff audio/x-aiff
asc text/plain
atom application/atom+xml
au audio/basic
avi video/x-msvideo
bcpio application/x-bcpio
bin application/octet-stream
bmp image/bmp
cdf application/x-netcdf
cgm image/cgm
class application/octet-stream
cpio application/x-cpio
cpt application/mac-compactpro
csh application/x-csh
css text/css
dcr application/x-director
dif video/x-dv
dir application/x-director
djv image/vnd.djvu
djvu image/vnd.djvu
dll application/octet-stream
dmg application/octet-stream
dms application/octet-stream
doc application/msword
dtd application/xml-dtd
dv video/x-dv
dvi application/x-dvi
dxr application/x-director
eps application/postscript
etx text/x-setext
exe application/octet-stream
ez application/andrew-inset
gif image/gif
gram application/srgs
grxml application/srgs+xml
gtar application/x-gtar
hdf application/x-hdf
hqx application/mac-binhex40
htm text/html
html text/html
ice x-conference/x-cooltalk
ico image/x-icon
ics text/calendar
ief image/ief
ifb text/calendar
iges model/iges
igs model/iges
jnlp application/x-java-jnlp-file
jp2 image/jp2
jpe image/jpeg
jpeg image/jpeg
jpg image/jpeg
js application/x-javascript
kar audio/midi
latex application/x-latex
lha application/octet-stream
lzh application/octet-stream
m3u audio/x-mpegurl
m4a audio/mp4a-latm
m4b audio/mp4a-latm
m4p audio/mp4a-latm
m4u video/vnd.mpegurl
m4v video/x-m4v
mac image/x-macpaint
man application/x-troff-man
mathml application/mathml+xml
me application/x-troff-me
mesh model/mesh
mid audio/midi
midi audio/midi
mif application/vnd.mif
mov video/quicktime
movie video/x-sgi-movie
mp2 audio/mpeg
mp3 audio/mpeg
mp4 video/mp4
mpe video/mpeg
mpeg video/mpeg
mpg video/mpeg
mpga audio/mpeg
ms application/x-troff-ms
msh model/mesh
mxu video/vnd.mpegurl
nc application/x-netcdf
oda application/oda
ogg application/ogg
pbm image/x-portable-bitmap
pct image/pict
pdb chemical/x-pdb
pdf application/pdf
pgm image/x-portable-graymap
pgn application/x-chess-pgn
pic image/pict
pict image/pict
png image/png
pnm image/x-portable-anymap
pnt image/x-macpaint
pntg image/x-macpaint
ppm image/x-portable-pixmap
ppt application/
ps application/postscript
qt video/quicktime
qti image/x-quicktime
qtif image/x-quicktime
ra audio/x-pn-realaudio
ram audio/x-pn-realaudio
ras image/x-cmu-raster
rdf application/rdf+xml
rgb image/x-rgb
rm application/vnd.rn-realmedia
roff application/x-troff
rtf text/rtf
rtx text/richtext
sgm text/sgml
sgml text/sgml
sh application/x-sh
shar application/x-shar
silo model/mesh
sit application/x-stuffit
skd application/x-koan
skm application/x-koan
skp application/x-koan
skt application/x-koan
smi application/smil
smil application/smil
snd audio/basic
so application/octet-stream
spl application/x-futuresplash
src application/x-wais-source
sv4cpio application/x-sv4cpio
sv4crc application/x-sv4crc
svg image/svg+xml
swf application/x-shockwave-flash
t application/x-troff
tar application/x-tar
tcl application/x-tcl
tex application/x-tex
texi application/x-texinfo
texinfo application/x-texinfo
tif image/tiff
tiff image/tiff
tr application/x-troff
tsv text/tab-separated-values
txt text/plain
ustar application/x-ustar
vcd application/x-cdlink
vrml model/vrml
vxml application/voicexml+xml
wav audio/x-wav
wbmp image/vnd.wap.wbmp
wbmxl application/vnd.wap.wbxml
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wmls text/vnd.wap.wmlscript
wmlsc application/vnd.wap.wmlscriptc
wrl model/vrml
xbm image/x-xbitmap
xht application/xhtml+xml
xhtml application/xhtml+xml
xls application/
xml application/xml
xpm image/x-xpixmap
xsl application/xml
xslt application/xslt+xml
xul application/vnd.mozilla.xul+xml
xwd image/x-xwindowdump
xyz chemical/x-xyz
zip application/zip
Want To Search More?
Google Search on Internet
Subscribe RSS Subscribe RSS
Article Categories
  • Gridview
  • Javascript
  • AJAX
  • Sql server
  • XML
  • CSS
  • Free Web Site Templates
  • Free Desktop Wallpapers
  • TopOfBlogs
    Free ASP.NET articles,C#.NET,VB.NET tutorials and Examples,Ajax,SQL Server,Javascript,Jquery,XML,GridView Articles and code examples -- by Shawpnendu Bikash