I work with a legacy ASP.NET web application that has URLs that use query string values to pass information between pages. I ran into an issue with a couple of URLs that contain spaces, numbers, and dashes that I'm trying to understand.
Here's an example of the URL:
http://myserver.com/SelectReport.aspx?Name=My Report&ReportFile=my_financial_report&ReportTitle=My Financial Planning Across A 1-Year Or 2-Year Outlook
The problematic part of the URL is the ReportTitle
query string value.
When I click the link in Internet Explorer 11 or Microsoft Edge, I get a Cant' reach this page. It took too long to connect to this website. Error Code: INET_E_CONNECTION_TIMEOUT
error. It should be noted that the link works fine if I turn ON compatibility view settings in Internet Explorer 11.
When I click the link in Google Chrome, I get a `This site can't be reached. The connection was reset. ERR_CONNECTION_RESET" error.
If I delete the 2
in 2-Year
, the link works. However, if I delete the 1
in 1-Year
and leave 2-Year
alone, the link does not work. I'd like to know why removing the 2
in 2-Year
allows the link to work, but removing the 1
in 1-Year
does not. This is true whether I replace spaces with %20
or not. Does anyone know the answer?
I know that I can replace the spaces in the ReportTitle
query string value with plus signs (+
) and it will work. This is likely the route I will take to fix the issue, but I was hoping to understand the issue better.
Thanks!