MVC3 - 如何修改动作结果以获取多个对象更新

时间:2011-07-12 19:49:10

标签: asp.net asp.net-mvc asp.net-mvc-3 document-based

当我从下拉菜单中选择一个影院并点击“添加电影”时,此代码就会运行。

   public ActionResult Create(TheaterViewModel input)
    {
        var theater = new TheaterViewModel
          {  
              TheaterId = input.TheaterId,
              TheaterName = input.TheaterName,                

              MoviesForTheater = new List<Movie>
                {
                    new Movie 
                     {                             
                         Title = input.Movie.Title,                                                    
                         Category = input.Movie.Category 
                     }
                }
          };

        _repository.Add(theater);           
        _repository.Save();           
        return RedirectToAction("Index");
    }

生成的数据库条目采用Json格式,如下所示。

    {
      "TheaterId": 12312,          
      "TheaterName": "AMC",

      "MoviesForTheater": [
         {
             "Title": "Shrek",          
             "Category": "G",
          }
         ],

     }

当我按照相同的工作流程向剧院添加第二部电影时......也就是说,选择一个影院,然后添加第二部电影细节,我希望第二部电影在第一部电影的旁边添加到同一文档中,如下所示以后还有其他电影...

 {
      "TheaterId": 12312,          
      "TheaterName": "AMC",

      "MoviesForTheater": [
         {
             "Title": "Shrek",          
             "Category": "G",
          },
          {
             "Title": "Shrek2",          
             "Category": "G",
          }
         ],

     }

如何更改我的actionresult代码才能完成此功能。感谢您的帮助..

1 个答案:

答案 0 :(得分:2)

我建议使用客户端模板框架。你可以使用的一个非常好的是Steve Sanderson的KnockoutJS。见knokcout js