Troubleshooting Tips for ASP.Net Developers

During the development of the simplest "Hello World" application, we can see many bugs & other problems kicking us from back, this article shows how to get rid of the most common problems out here.

"Error while trying to run project: Unable to start debugging on the web server. You do not have permissions to debug. Verify that you are a member of the 'Debugger Users' group on the sever ."

I don't think that there exists a single ASP.Net developer in this world who hasn't seen this error from Visual Studio. And searching for a solution to this will present you with many debugging options related to IIS and Visual Studio. But I've got a simple solution for this problem in some site. It was simply to add http://localhost to your trusted sites list in the internet settings and that will do (At least it did in my case).

Accessing the Trusted sites list: Start > Settings > Control Panel > Internet options

Canceling validation events (If you're using the buil -in validation controls)

Validation controls in ASP.Net are easier to work with cumbersome validation task, especially for those who don't like to mess with JavaScript. But they may cause some loopy problems when you're seriously working on a webform. Consider you are using a required field validator on your form and you have two buttons Submit and Cancel as the name suggests the submit button posts the data back to the server after client-side validation and cancel is intended to cancel the activity and go back to the form you're coming from. In this case the required field validator will trigger a validation event (client-side event) and will not allow the browser to post-back the cancel action. This situation is tackled by placing a simple code in the page's pre-render event.

Just add

btnCancel.Attributes.Add ( "onClick","P age_ValidationActive =false") assuming that the server button that triggers cancellation is named as btnCancel . This will override the client-side validation process and allows the browser to post-back the content.
This problem can also be tackled by setting the Cancel buttons CausesValidation property to false.
 

A potentially dangerous Request.Form value was detected from the client.

This error will be thrown by the server if you try to post-back some text that resembles an html or xml tag. Try creating a form with a textbox and a button and write code to output the content to the Response in the Click event handler of the button. It works fine for any general string but try something enclosed between angle brackets( < and >). It will certainly fail, this happens because of the thorough validation of the Request. You may wonder why such a string is required, but is essentially required for some specific applications like Content Management Systems . To enable server to receive specific Request that looks like html (or simply html), you need to override Request Validation for the page in which you need to handle such requests. This can be achieved by adding a special element to the pages "<@ Page" directive just as shown below

<%@ Page language="c#" Codebehind ="WebForm1.aspx.cs" AutoEventWireup ="false" Inherits="TestProj.WebForm1" ValidateRequest ="false" %>

Note: Please be aware that disabling ValidateRequest on an ASP.net web page opens up that page for potential XSS vulnerabilities. You might need to take counter measures to protect your pages/web applications from if you open up this security hole.

The troubles continue to follow us where ever we go; I'm satisfied if this little bit of information someway helped you. And I agree to come back with more tips next time.