Banner Ad

Wednesday, August 28, 2013

ASP.Net: Format Number into 2 digits Using Java script


               In this post we are going to see that how to formatting the number entered in the server side text box.


<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="Blogging.WebForm1" %>

<!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>
    <script type="text/javascript">
        // This function is called when the focus moved from Text Box
        function formatNumber() {
            // Get the Controls value
            var strAmount = document.getElementById("<%=txtAmount.ClientID%>").value;
            // Replace the prefix and suffix spaces
            var dblAmount = strAmount.replace(/^s+|s+$/g, '');
            //check the input is not a empty string
            if (dblAmount != '') {
                // check the input is a valid number
                if (isNaN(dblAmount)) {
                    // Alert the User
                    alert("Please enter only whole number");
                    // Clear the values
                    document.getElementById("<%=txtAmount.ClientID%>").value = "";
                }
                else {
                    // Append zeros
                    var strAmount = dblAmount + "." + "00";
                    //strAmount = strAmount.replace(/^s+|s+$/g, '');
                    document.getElementById("<%=txtAmount.ClientID%>").value = strAmount;
                }
            }
        }
        // Called when the focus set on the Text Box
        function removeZeros() {
            // Get the Controls value
            var strAmount = document.getElementById("<%=txtAmount.ClientID%>").value;
            // Replace the prefix and suffix spaces
            strAmount = strAmount.replace(/^s+|s+$/g, '');
            // Replace the Zeros and Dot
            var dblAmount = strAmount.replace(".00", "");
            //check the input is a valid number
            if (dblAmount != '') {
                // check the input is a valid number
                if (isNaN(dblAmount)) {
                    alert("Please enter only whole number");
                }
                else {
                    // Assign the value to text box
                    document.getElementById("<%=txtAmount.ClientID%>").value = dblAmount;
                }
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    Enter A Whole Number :
    <asp:TextBox ID="txtAmount" runat="server" onblur="formatNumber();" onfocus="removeZeros();">
    </asp:TextBox>
    </form>
</body>
</html>

Let’s have a look at that line:

<asp:TextBox ID="txtAmount" runat="server" onblur="formatNumber();" onfocus="removeZeros();"></asp:TextBox> 

Which declares ASP.Net text box,  with 2 client side events “onblur” and “onfocus”.

Onfocus – used to call a javascript function when the focus set on that control. That is when you click on the text box this will fired.
Onblur – Used to call a javascript function when the focus is moved to next control. When the user press tab key this event triggered.

         In the javascript functions “formatNumber” and “removeZeros” I have used some regular expression to remove the leading and trailing spaces.
I have previously explained the purpose of ClientID in this post.

To run this program, just copy and paste that code in a webform and hit F5.

Please go thru the comments in the javascript for better understanding.

Provide your valuable comments to improve my articles.


Hope this helps a bit!

Monday, August 26, 2013

Visual Studio Tips &Tricks: 4 – Solution File Not Found

By Francis   Posted at   11:19 AM   Visual Studio Tips and Tricks No comments
                  Last night I have tried to add a Blank Solution and then to add a website under that solution. First I have added that blank solution. Solution added successfully. When I added the Website under that solution, then the Solution has been hidden only website alone displayed in Solution Explorer.

Website With out Solution

To Bring the Solution file, go to the Tools -> Option Menu.

Select “Projects and Solutions” and check the check box with the text “Always show solution”. 
Option Window in Visual Studio
That’s all now the solution file displayed in the top of web site like below.
Website with Solution

Hope this helps a bit!

Thursday, August 22, 2013

Visual Studio Tips &Tricks : 3 – Ctrl+, - File Search Easy

By Francis   Posted at   11:28 AM   Visual Studio Tips and Tricks No comments
                 Whenever the project grows large it’s hard to take the necessary file in Visual studio. That is we need to traverse a lot of folders or sub folders if we know the file where it was exactly. 

                  Sometimes, when you deployed in a new project, if another user just mention a file name and ask you take a look about particular logic its really painful to find that file where it was located exactly.

                   At these times the hot key combination Ctrl + , (Control Key with Semicolon) comes a handy. Which opens “Navigate To” window in which if we started type it will list down the file name in a quicker manner. So that we can pick up the file easily.
Navigate To - Window 

                   It not only listed the File names, it also list down the method name too. So whether you search a method or File use the 
shortcut key Ctrl+, and navigate quicker.

Please give your valuable comments which improves my future articles!

Hope this helps a bit!

Wednesday, August 21, 2013

Access ASP.Net Server Control in Client Side Using Javascript

By Francis   Posted at   12:18 PM   Client ID in ASP.Net No comments
              Some time, we have a situation to access the server side ASP.Net controls and its values using Client side script like java script.  In this post I’m going to explain how to do that with a simple example.

A word about Client ID:

              As all of us know, that server side controls are submitted and processed by the ASP.Net engine, which emits the respective HTML to the browser. At that time the ASP.Net engine takes the server controls and provide ID (which can be varied across asp.net versions) for it.

            Consider the below example, which has 3 text boxes, after entered values in first 2 text boxes when the user clicks the button then javascript function called which will add the values and put it in 3rd text box. These controls are Server controls.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function Add() {
            var intFirstNo = document.getElementById("<%= txtFirstNo.ClientID %>").value;
            var intSecondNo = document.getElementById("<%= txtSecondNo.ClientID %>").value;
            var intResult = parseInt(intFirstNo)  +  parseInt(intSecondNo);
            document.getElementById("<%= txtResult.ClientID %>").value = intResult;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <table>
<tr>
            <td>
                Enter First Number:
            </td>
            <td>
                <asp:textbox clientidmode="Predictable" id="txtFirstNo" runat="server"></asp:textbox>
            </td>
        </tr>
<tr>
            <td>
                Enter Second Numer:
            </td>
            <td>
                <asp:textbox id="txtSecondNo" runat="server"></asp:textbox>
            </td>
        </tr>
<tr>
            <td>
                Addition is:
            </td>
            <td>
                <asp:textbox id="txtResult" runat="server"></asp:textbox>
            </td>
        </tr>
<tr>
        <td align="center" colspan="2">
        <asp:button id="btnResult" onclientclick="Add(); return false;" runat="server" text="Calculate">
        </asp:button></td>
        </tr>
</table>
</form>
</body>
</html>

Consider this java script line:

var intFirstNo = document.getElementById("<%= txtFirstNo.ClientID %>").value;

                When the above line is read by the ASP.Net engine, it will search the Server control ID “txtFirstNo” and get the respective client ID, which has been assigned by ASP.Net engine.  In other words, ASP.Net get the Client ID for that Server control “txtFirstNo” and substitute there in between the double quotes. As a result when we saw the view source of the page we can read that above one as follows:

var intFirstNo = document.getElementById("txtFirstNo").value;

We also return false (in line no 42) after call the javascript function "Add" to avoid the postback when we click the button.

Just copy the above sample in a webform and try it yourself!

Please leave your valuable comment which improves every Article!

Hope this helps a bit! 

Tuesday, August 20, 2013

Work Around: Break Point Not Hitting in Visual Studio

By Francis   Posted at   11:14 AM   Visual Studio No comments
                In my professional experience with Visual studio sometimes break point doesn’t hit when we attached to the Worker process. It just tells that Symbols are not loaded.

                 The below are the possible workaround to solve this problem (Try it one by one in this case):
  1. Clean and Rebuild the Solution/Project.
  2. Close all the windows using Window -> “Close All Documents” and restart the Visual Studio. Then Build/Rebuild the Solution/Project.
  3. Go to the Temporary Folder (which is available in the .Net Framework installed Location) and clean the Temporary files of that Solution/Project. Kill the worker process and rebuild the solution.
Hope this helps a bit!


Monday, August 19, 2013

Visual Studio Tips & Tricks: 2 – Create Virtual Directory Problem

By Francis   Posted at   12:15 PM   Visual Studio Tips and Tricks No comments
                     Few days ago, I just want to create a virtual directory for my ASP.Net web project. I just go to the “Solution Explorer” and “Right click” on the Web project in the floating menu choose the “Properties” of the Web project.

Project Properties Float Menu

              In the Properties page, Select “Web” Tab and select the option “Use Local IIS web Server” and then click “Create Virtual Directory” button. At that time the below error occurred:

Unable to create the virtual directory. To access local IIS Web sites, you must run Visual Studio in the context of an administrator account.

Virtual Directory Creation Error

Tuesday, August 13, 2013

Learn By Experience: Be Aware: Static (C#)/Shared (VB) Variables

By Francis   Posted at   12:02 PM   Static Variable No comments
                              It’s a common programming mistake all the programmers use the static/shared variables in a class. The programmer cannot identify the problem when it was used in a single user desktop application. But when you come to the web, which is a multi-user environment you will strangely come across problems. For example, one user’s data may be viewed or data may be colloid with other user’s data. 
                       Few months ago, I also encountered the same problem in a project. The main problem is that static/shared variables has been used in that particular code behind file.  So what happened is, if more than one logged in user view and edit data on that page on the same time data has been interchanged or overlapped with other user data.
                        It doesn’t mean that shared/static variables are not to be use. But using inside a class, is need more attention. The above problems are perfect live examples. 
                        We can use the Shared/Static variables in that case we need to track the number of page visits or need to be access across the classes. But be aware such kind of situations.

I hope this post help a little to refine your coding!!


Happy Coding!!
Connect with Us