【发布时间】:2019-04-22 18:20:14
【问题描述】:
我收到此错误:从客户端 (:) 检测到潜在危险的 Request.Path 值。
我正在尝试将 DateTime 和 int 传递给 ActionResult,我创建了一个自定义路由来处理它。我在我的 URL 中看不到 (:),所以不知道如何替换字符串。是我的 URL 日期中的 (%) 导致它吗?这是我将变量传递给控制器的代码:
//View
DateTime raceDate = DateTime.Today;
<center><a href="@Url.Action("EventInfo", new {raceDate= date, trackID=trID})" class="buttonize" target="_blank">View</a></center>
//Controller
public ActionResult EventInfo(DateTime raceDate, int trackID )
{
EventInfomodel = new EventInfo();
model.MyRace = db.GetRaceDetails(raceDate, trackID)
return View(model);
}
//Route.Config
routes.MapRoute("Home/EventInfo", "Home/EventInfo/{raceDate}/{trackID}", new { controller = "Home", action = "EventInfo", raceDate = UrlParameter.Optional, trackID= UrlParameter.Optional });
我的浏览器中的 URL 如下所示:
Home/EventInfo/04/22/2019%2000%3a00%3a00/59
我是全新的 MVC 和 C#,所以任何帮助都会很棒,谢谢。
【问题讨论】:
-
您有两个参数,Home/EventInfo/{raceDate}/{trackID} 比赛日期和赛道 ID。您浏览器中的 url 是: Home/EventInfo/04/22/2019%2000%3a00%3a00/59 您的 raceDate 被传递为 04/22/2019,其中 / 被认为是不存在的路径。尝试格式化您的日期,然后尝试
标签: c# asp.net-mvc