Asp.net mvc asp.net mvc 3更改“;URL";从「/&引用;“到”吗;?id=”号;
我正在使用MVC3。页面内容来自SQL数据库。当我尝试使用Javascript传递变量时,我注意到一个问题。当url显示目录/pagename时,它不起作用,但是如果url是directory?=pagename!!知道为什么以及如何将url更改为?=id吗。 以下是行动链接:Asp.net mvc asp.net mvc 3更改“;URL";从「/&引用;“到”吗;?id=”号;,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在使用MVC3。页面内容来自SQL数据库。当我尝试使用Javascript传递变量时,我注意到一个问题。当url显示目录/pagename时,它不起作用,但是如果url是directory?=pagename!!知道为什么以及如何将url更改为?=id吗。 以下是行动链接: <%: Html.ActionLink("Go", "CourseContent", new { id = Model.ID })%> 这是控制器: public virtual ActionResult
<%: Html.ActionLink("Go", "CourseContent", new { id = Model.ID })%>
这是控制器:
public virtual ActionResult CourseContent(long id)
{
Course requestedCourse = _courseSvc.GetCourse(id);
if (requestedCourse == null)
return new HttpNotFoundResult();
string loggedInUserName = HttpContext.User.Identity.Name;
string loggedInRoleName = _membershipSvc.GetRoleForUser(loggedInUserName);
if (_courseSvc.DetermineIfTheUserCanAttendCourse(id, Request.IsAuthenticated, loggedInUserName, loggedInRoleName))
return View(requestedCourse);
return RedirectToAction("Index");
}
提前感谢它应该与/controller/action/id一起工作,但您可以随时执行以下操作:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}?id={id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
什么不起作用?您如何使用javascript调用此url?
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}?id={id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}