0

我有以下两个控制器操作:

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);
    }

我的项目中只有一个视图,称为TitleStorylines,第一个控制器操作处理得很好。TitleStorylinesCreate但是当我调用第二种方法时,它给了我一个错误,说即使我明确地调用了前一种方法,它也找不到调用的视图。是什么赋予了?

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模式。Post -> Redirect -> Get 保存后,我们将它们重定向回第一个方法。这将是一种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 回答