我可以传递点作为参数id在控制器方法在MVC

本文关键字:id 控制器 方法 MVC 参数 我可以 | 更新日期: 2023-09-27 18:11:13

我是新的MVC和工作的视图有用户列表和通过选择用户id的详细信息应该显示在屏幕上…在选择id如"abc"时出现错误。xyx". .是做错了什么…

选择id字段包含'.'时出错点在里面示例:xyz.abc

视图

链接
 <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.vUserID  }) |
        @Html.ActionLink("Details", "Details", new { id=item.vUserID }) |
        @Html.ActionLink("Delete", "Delete", new { id=item.vUserID  })
    </td>
控制器

    // Error :  /User/Details/xyz.abc
    // no Error: /User/Details/5
    public ActionResult Details(string id)
    {
        try
        {
            tblUserMaster tblusermaster = db.tblUserMasters.Find(id);
            if (tblusermaster == null)
            {
                return HttpNotFound();
            }
            return View(tblusermaster);
        }
        catch (Exception)
        {
            throw;
        }
    }

Error on: localhost:9467/User/Details/dave.schneider错误信息是

HTTP错误404.0 -未找到您正在查找的资源已被删除、名称已更改或暂时不可用。

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "User", action = "Index", id = UrlParameter.Optional }
        );
    }
}

我可以传递点作为参数id在控制器方法在MVC

是解决它网络的变化。配置文件部分并添加

<system.webServer> <modules runAllManagedModulesForAllRequests="true" /> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>

在系统中。Web .config(.net 4)的Web部分

<httpRuntime relaxedUrlToFileSystemMapping="true" />