我是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 }
);
}
}
出了什么问题?
答案 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" />