我可以在MVC的控制器方法中将dot作为参数传递给id吗?

时间:2015-09-04 07:47:22

标签: c# asp.net-mvc

我是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;
        }
    }

错误: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 }
        );
    }
}

出了什么问题?

2 个答案:

答案 0 :(得分:1)

是解决它 更改Web.config文件部分并添加

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

答案 1 :(得分:0)

在web.config(.net 4)的system.web部分

<httpRuntime relaxedUrlToFileSystemMapping="true" />