2011-12-30 25 views
0

私はデータベースからのノートを表示するグリッドを持つビューを返すActionResultを持っています。同じページにはCreateNoteを呼び出すボタンがあり、新しいノートを追加できるPartialViewが返されます。これはすべて動作しますが、新しいノートを追加した後、ビューをグリッドを示すTabNotesに戻します。 私は使用しようとしましたActionResultを返すにはどうすればよいですか?

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

答えて

4

あなたはアクションにリダイレクトする必要があり :

return RedirectToAction("TabNotes"); 
関連する問題