0

以下に概説する2つのコントローラーアクションがあります。

public ViewResult TitleStorylines(int id)
    {
        var vm = Service.Get(id);
        vm.IsEditable = User.HasPermission(SecurityPermissionType.ManageStorylines);
        return View(vm);
    }

public ViewResult TitleStorylinesCreate(TitleStorylineModel model)
    {
        var created = Service.Create(model);
        return TitleStorylines(created.TitleId);
    }

私のプロジェクトには と呼ばれるビューが 1 つしかなくTitleStorylines、最初のコントローラー アクションが適切に処理します。TitleStorylinesCreateしかし、2 番目のメソッドを呼び出すと、前のメソッドを明示的に呼び出しているにもかかわらず、呼び出されたビューが見つからないというエラーが表示されます。何を与える?

4

2 に答える 2

3

試しましたか ?

return View("TitleStorylines",created.TitleId);

編集:あなたの更新に基づいて:私はあなたがあなたのフォームをTitleStorylinesCreateに投稿していると思います。したがって、おそらく保存した後、ユーザーを同じのGetアクションにリダイレクトしたくないですか?

[HttpPost]
public ViewResult TitleStorylinesCreate(TitleStorylineModel model)
{
    var created = Service.Create(model);
    return RedirectToAction("TitleStorylines",new { @id=created.TitleId});
}

上記の例では、PRGパターンを実行しています。投稿->リダイレクト->取得 保存後、最初のメソッドにリダイレクトします。メソッドになりますHTTP GET

于 2012-05-08T19:08:04.660 に答える
0
        public ActionResult TitleStorylinesCreate(TitleStorylineModel model)
{
    var created = Service.Create(model);
    return RedirectToAction("TitleStorylines",new { @id=created.TitleId});
}
于 2012-05-08T19:48:30.080 に答える