There are many ways to validate and force users to type only Numeric data. You have Bootstrap, MVC, Text Boxes with the attribute of, TextMode="Number", 3rd party controls with Mask Edit such as DevExpress, Infragistics, and others.
The problem with some of these options is that they only work on browsers that support HTML5, some don't play well with IE. In the case of the mask editors I have found these to be very clunky such as you have to hit back space to enter data, delete does not work, or it seems the entry just locks up.
You can test it out that mredkj blog at this link.
1. Add JS File to your project
2. Add a TextBox to a page.
<asp:TextBox ID="TxtValScript" runat="server"></asp:TextBox>
TxtValScript.Attributes.Add("onkeypress", "return blockNonNumbers(this,event,true,false);");
TxtValScript.MaxLength = 8;
Validation.zip (1.64 kb)
After about a hour trying to get Visual Studio 2013 to run in debug mode (on an older project) I checked "Use Managed Compatibility" under the debug options menu.
Here is a link on MSDN that discusses this feature.