1

ポスト アクションから ViewResult を返そうとすると、次のエラーが発生します。

ビュー「インデックス」またはそのマスターが見つからないか、検索された場所をサポートするビュー エンジンがありません。次の場所が検索されました: ~/Views/Home/Index.cshtml ~/Views/Shared/Index.cshtml ~/Views/Home/Home.cshtml
~/Views/Shared/Home.cshtml ~/Views/Home/Index. aspx
~/Views/Home/Index.ascx ~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx ~/Views/Home/Home.master
~/Views/Shared/Home.master ~/Views/ホーム/Home.vbhtml
~/Views/Shared/Home.vbhtml

GET アクションで動作するため、私のビューは確実に認識されます。

POST アクションで ViewResult を返すコードは次のとおりです。

return View("Index", "Home", Model);

これがビューです。

これが機能しない理由を誰かが提案できますか?

もう少しコンテキスト: get アクションはビューをうまく表示します。投稿アクションは実際には別の URL に対するものですが、同じビューを返します。問題を引き起こしているのは投稿アクションです。GET アクションと POST アクションの両方が同じコントローラー上にありHomeControllerます。

これが(簡素化された)コントローラーです。

public class HomeController : Controller
{
    [HttpGet]
    public ActionResult Index()
    {
        return View(new LoginModelBase());
    }

    [HttpPost]
    public ActionResult Login(UsernameLoginModel Model)
    {
        ...
        return View("Index", "Home", Model);
    }
}
4

1 に答える 1

2

私はそれが何であるかを理解しました!. View(...)メソッドの間違ったオーバーロードを使用しています。

そのはず:

View("Index", Model);
于 2012-10-16T11:01:08.627 に答える