111*_*110 5 asp.net-mvc asp.net-mvc-routing asp.net-mvc-3
我不知道这是否正常,但ChildActionOnly
方法是否要求路线?例如
[ChildActionOnly]
public PartialViewResult List(string countryCode, string cityName)
{...
return PartialView(model);
}
Run Code Online (Sandbox Code Playgroud)
我渲染它像:
@{Html.RenderAction("List", "MyController", new { area = "MyArea", countryCode = ViewBag.CountryCode, cityName = ViewBag.CityName });}
Run Code Online (Sandbox Code Playgroud)
在调试中我得到了上线:
路由表中的路由与提供的值不匹配.
UPDATE
context.MapRoute("name",
"",
new { area = "MyArea", controller = "MyControlelr", action = "List", countryCode = UrlParameter.Optional, cityName = UrlParameter.Optional });
Run Code Online (Sandbox Code Playgroud)
是的,它确实.
所有[ChildActionOnly]
这一切都表明无法通过URL访问此操作(例如,常规HTTP GET),而必须通过Html.Action
或执行Html.RenderAction
.它不是新的HTTP请求,但它仍然通过MVC请求管道(通过路由值选择控制器/动作).