ルートにドットが含まれている場合、ルートへのアクセスに問題があります。再現するために、デフォルトの MVC4 WebApi アプリケーションを作成します。デフォルトルートをたどる...
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
次のようにコントローラーを記述します...
public class HomeController : Controller
{
public ActionResult Index(string id)
{
if (id == null)
{
return View();
}
else
{
return PartialView(id);
}
}
}
既存の「index.cshtml」の隣に、「test.cshtml」と「test.menu.cshtml」の 2 つのファイルを作成します。
/home/index/test を開くと、期待どおりに動作します。「test.cshtml」の内容を戻します。
ただし、/home/index/test.menu を開くと 404 エラーが返されます。
なぜこれが起こるのですか?どうすれば回避できますか?