我怎样才能返回ActionResult?

时间:2011-12-30 13:16:07

标签: c# return actionresult

我有一个ActionResult,它返回一个带有网格的视图,该网格显示数据库中的注释。在同一页面上有一个调用CreateNote的按钮,它返回一个PartialView,我可以在其中添加新笔记。这一切都有效,但在添加新笔记之后,我希望视图返回到显示网格的TabNotes。 我尝试使用

return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);

但这是错误的页面。所以我想返回TabNotes ActionResult。这可能吗?

  public ActionResult CreateNote(
        [ModelBinder(typeof(Models.JsonModelBinder))]
        NoteModel Model, string cmd, long? itemId, string modelEntity)
    {

        if (cmd == "Save")
        {
            Model.meta.message = "Note saved";
            //standard user = 1, needs to be changed to variable
            test.Database.User User = UserRepository.GetUser(1);
            Entity entity = NotesRepository.GetEntity("Phrase");
            NotesRepository.StoreNote(Model.subject, Model.text, User, entity, itemId);
            return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);
        }
        Model.meta.modelname = "CreateNote";
        Model.meta.JsViewModelType = "EditNoteModel";
        Model.meta.PostAction = Url.Action("CreateNote", new { cmd = "Save", itemId = itemId});


        return PartialView("CreateNotePartial",Model);

        }

'

    public ActionResult TabNotes([ModelBinder(typeof(Models.JsonModelBinder))]
        TabNotesModel Model, string cmd)
    {
        Entity entity = NotesRepository.GetEntity(Model.meta.entity);
        if (Model.meta.id.HasValue)
        {
            Model.meta.modelname = "TN" + Model.meta.entity + Model.meta.id.Value.ToString();

            Dictionary<string, object> defaultValues = new Dictionary<string, object>();
            defaultValues.Add("Entity", entity.EntityId);
            defaultValues.Add("ItemId", Model.meta.id.Value);
            Entity noteEntity = NotesRepository.GetEntity("Note");
            var grid = UI.GetEntityFlexiGrid(noteEntity, true, true, true, true, defaultValues);
            grid.buttons.Clear();
            grid.title = "";
            Model.Grid = grid;

            Model.Grid.url = Url.Action("TabNoteData", new { id = Model.meta.entity, itemId = Model.meta.id.Value});
        }


       return View("TabNotes", Model);
    }

1 个答案:

答案 0 :(得分:4)

您应该重定向到该操作:

return RedirectToAction("TabNotes");