我不知道这是否正常,但ChildActionOnly
方法是否需要路由?
例如
[ChildActionOnly]
public PartialViewResult List(string countryCode, string cityName)
{...
return PartialView(model);
}
我渲染它:
@{Html.RenderAction("List", "MyController", new { area = "MyArea", countryCode = ViewBag.CountryCode, cityName = ViewBag.CityName });}
在调试中我得到了上线:
路由表中没有路由与提供的值匹配。
更新
context.MapRoute("name",
"",
new { area = "MyArea", controller = "MyControlelr", action = "List", countryCode = UrlParameter.Optional, cityName = UrlParameter.Optional });
答案 0 :(得分:5)
是的。
所有[ChildActionOnly]
都表示无法通过URL访问此操作(例如常规HTTP GET),而必须由Html.Action
或Html.RenderAction
执行。它不是新的HTTP请求,但它仍然通过MVC请求管道(通过路由值选择控制器/动作)。