MVC4项目 - 参数值中不能有点?

gal*_*ets 5 asp.net asp.net-mvc-4

我有一个MVC4项目,我正在尝试使用/ QRCode/address/amount等URL.以下是它的声明方式:

路线:

routes.MapRoute(
    name: "QRCode",
    url: "QRCode/{address}/{amount}",
    defaults: new { controller = "QRCode", action = "Index" }
);
Run Code Online (Sandbox Code Playgroud)

控制器:

public class QRCodeController : Controller
{
    public ActionResult Index(string address, double amount)
    {
         ...
Run Code Online (Sandbox Code Playgroud)

问题是:

当URL为:时QRCode/address1/33,一切正常,但如果第二个参数中有一个点,例如:QRCode/address1/33.33,我收到"HTTP错误404.0 - 未找到".

重新声明字符串的第二个参数会产生相同的结果.

使用%2E代替点会产生相同的结果

谁知道这里发生了什么?我知道它在MVC3中运行良好

kab*_*ros 7

如果这是在IIS 7上,然后将其添加到您的配置文件,它应该工作正常:

<system.web>
     <httpRuntime relaxedUrlToFileSystemMapping="true" />
</system.web>
Run Code Online (Sandbox Code Playgroud)


gal*_*ets 6

是的...看到评论,处理程序映射是一个问题.

我将URL从QRCode/address1/33.33更改为QRCode/address1/33.33 /并且映射工作正常