我可以传递点作为参数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 }
);
}
}
是解决它网络的变化。配置文件部分并添加
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
在系统中。Web .config(.net 4)的Web部分
<httpRuntime relaxedUrlToFileSystemMapping="true" />