1

MVC 4 でサイトを構築しています。最初のビュー (つまり、ホームページ) が表示された後、別のビューに (他のいくつかの後に) リダイレクトします。

return RedirectToAction("Index", "ClaimsSearch", new { carrier = carrier });

そのビューのブレークポイントは実際にヒットし、パラメーターには次の値さえあります。

public class ClaimsSearchController : Controller
{
    public ActionResult Index(string carrier)
    {
        return View();
    }
}

[インデックス] を右クリックし、[ビューの追加] をクリックして、(ClaimsSearchController 用の) 新しいビューを作成しました。ただし、「return View()」が実行された後、ブラウザにはまだ元のビューが残っています。新しいビューは表示されません。ちなみに、2 番目のコントローラー名 (localhost:1234/ClaimsSearch) を入力すると、このビューが表示されます。

このアクションで実際にビューが表示されないのはなぜですか?

4

1 に答える 1

0

オーバーロードなしで View を返すと、デフォルトで、その中のアクションに基づいてファイルを検索します - この例では、Index.cshtml を検索します。このコントローラーが のサブフォルダー内にある場合、View フォルダー内を検索します。ここで Index.cshtml を探します 仮定により... View/ClaimsSearch/Index OR 'View/Shared/' 内を探します

私の提案:探しているもの(Index)と呼ばれるhtmlビューファイルを作成するか、return関数をオーバーロードして、探す別のファイルを指定します。しかし、とにかく、View/ClaimsSearch 内で cshtml ファイルを作成する必要があると思います

于 2018-12-04T10:25:25.733 に答える