Web APIの世界に新しく、カスタム表示を表示できないようです。私は基本的なことをやっており、私のコントローラーでリンクされているように見える方法を作りました。私はMVCにもっと精通していますので、ここで何か基本的なものが欠けているのだろうかと思います。ビューは常に私にアクセスすることはできませんエラーを返します。ASP.Net Web APIクライアントで別のビューを表示
生成にHomeControllerでのActionResult、:メニューでそれを呼び出すための
[HttpGet]
public ActionResult SpotDetails()
{
ViewBag.Title = "Spot Details";
return View();
}
リンク:
<ul class="nav navbar-nav">
<li>@Html.ActionLink("SHOR //", "Index", "Home", new {area = ""}, null)</li>
<li>@Html.ActionLink("Index", "Index", "Home", new {area = ""}, null)</li>
<li>@Html.ActionLink("Spot Profile", "SpotDetails", "Home", new {area = ""}, null)</li>
<li>@Html.ActionLink("API", "Index", "Help", new {area = ""}, null)</li>
</ul>
私は、インデックスへのリンクとAPIのヘルプページが完璧に動作言うべき。
これは、それが故障していた場合に私のRouteConfigで、私はまったく触れていない。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
そして最後に、私のWebApiConfig:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling =
Newtonsoft.Json.ReferenceLoopHandling.Ignore;
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
編集 - エラーメッセージのリンク
'/'アプリケーションでサーバーエラーが発生しました。
リソースが見つかりません。
説明HTTP 404。探しているリソース(またはその依存関係の1つ)が削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次のURLを確認し、スペルが間違っていないことを確認してください>。
要求されたURL:/ホーム/ SpotDetails
エラーの詳細はなんですか? –
@StephenMuecke正確なエラーを追加しました – ZippyPippy
私によく見えます。 SpotDetails.cshtmlは/ Views/Home /にあり、まったく同じスペルですか? – smoore4