2016-11-08 3 views
0

を見つけることができません。アクションは、私は、次のアクションを持って見るか、そのマスター

今私はACTIONNAMEを追加しよう:

[ActionName("bla-bla-article-1")] 
    public ActionResult Article01() 
    { 
     return View(); 
    } 

は今の呼び出し: 'リソースが見つからない' /記事/ Article01は

を返します。

今、私はこれ試してみてください。私が手

[ActionName("bla-bla-article-1")] 
public ActionResult Article01() 
{ 
    return View("~/Content/Views/Articles/Article01.cshtml"); 
} 

そしてここに:

ビュー '〜/コンテンツ/ビュー/記事/ Article01.cshtml' またはそのマスターは ませんでした発見された位置をサポートするビューエンジンがないか、またはビューエンジンがサポートしていない。 次の場所を検索した: 〜/コンテンツ/ビュー/記事/ Articles01.cshtml

+0

あなたの行動がURLになります '/記事/ BLA-BLA-記事-1 'ない' /記事/ Article01を参照してください:あなたが明示的に指定する必要が理由です

' – Liam

+0

2番目のエラーはビューが存在しないことを示します。あなたのコントローラが 'Article'と呼ばれ、あなたの問題である可能性が高いArticle ** s **(複数形)フォルダ内を探している場合 – Liam

+0

基本的には' return View( "〜/ Content/Views/Article/Article01.cshtml"); '修理する – Liam

答えて

1

をあなたは、デフォルトでは、メソッド名もアクション名であることを認識しなければなりません。しかし、一度あなたは[ActionName]アトリビュートを使用してそのコンベンションをオーバーライドすると、そのアクションにアクセスするURLも変更される可能性があります。

でしょう、あなたの場合は

/記事/ BLA-BLA-記事-1

そして、あなたはビュー名を指定せずにreturn View()を使用しているとき、それはあることです現在のルートパラメータから自動的に決定され、属性が適用された後の値はbla-bla-article-1になります。

return View("Article01"); 

MSDN

関連する問題