Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET MVC Route IDs with a period [duplicate]

If I have a route with the following:

{controller}/{action}/{id}

I look at the following URL:

c1/a1/abc.

It doesn't work. This only happens when the period is at the end of the URL. Any way to get ASP.NET MVC to recognize that as part of the ID?

like image 697
jameszhao00 Avatar asked Feb 22 '10 10:02

jameszhao00


2 Answers

If you are using .NET 4.0, you can set this flag in your web.config and it will be allowed:

<system.web>
    ...
    <httpRuntime relaxedUrlToFileSystemMapping="true" />
    ...
</system.web>

I've tested it and it works. Haack has an explanation of it.

like image 176
bkaid Avatar answered Nov 08 '22 08:11

bkaid


Reading through the answers to the two similar problems below, I only can suggest that you encode the period before passing it to you MVC application. It looks as the period is also treated as a delimter to a rule succh as "/".

Similar problem here:

  • Semantic urls with dots in .net
  • ASP.NET MVC: How to Route Search Term with . (Period) at the end
like image 2
AxelEckenberger Avatar answered Nov 08 '22 07:11

AxelEckenberger