2016-06-15 46 views
2

所以,我有一个控制器与两个HttpPost。如何选择我的HttpPost的执行顺序

我的看法是犯了这样的

  • 首先你填写表格。

  • 然后按提交(上提交我的动作是启动,这个动作应该显示的东西,但是,

  • 控制器上的await当我按下,因为一个模式持久性有机污染物和用户需要把一些它里面的信息。然后他会不会再次按下一个按钮保存在数据库中的信息。

  • 有错误。第一控制器动作应在页面上重定向,但因为第二个控制器的作用。

那么我如何告诉控制器重播后,我使用了第二个动作的保存功能的行动?

感谢您的帮助!

这里是我的控制器:

[HttpPost] 
    public ActionResult ModalContent(ParentModel model) 
    { 
     if (model != null) 
     { 
      UserInformationViewModel info = model.UserInformationViewModel; 
      var client = new MongoClient("mongodb://localhost:27017"); 
      var objDatabase = client.GetDatabase("Test"); 
      var collection = objDatabase.GetCollection<BsonDocument>("UsersInformations"); 
      BsonDocument objDocument = new BsonDocument { 
      {"Nom",info.NomUser}, 
      {"Prenom",info.PrenomUser}, 
      {"Email",info.EmailUser}, 
      {"Telephone",info.TelephoneUser},    
      }; 

      collection.InsertOne(objDocument); 
     } 

     return null; 
    } 

    [HttpPost] 
    public ActionResult ActionNumber2(ParentModel parentViewModel) 
    { 
     if (parentViewModel != null) 
     { 
      List<ObjetTransfert> listeParentObjetsTransferts = new List<ObjetTransfert>(); 
      ActionNumber2 actionNumber2; 
      ConvertParentModelToParentBd(parentViewModel, listeParentObjetsTransferts); 
      _confidential.CCP(listeParentObjetsTransferts , out resultatC, 
       Enums.E.T); 

      //Enregistrer d'abord le resultat en Bd 
      resultatC.IdentifiantRC = new Guid().ToString(); 
      _resultatCS.Create(resultatC); 

      Session["ID"] = resultatC.Id; 
      return View(); 
     } 
     return null; 
    } 

回答

0

所以,因为我使用的是相同的参数两者的ActionResult,我只需要做到这一点:

[HttpPost] 
public ActionResult ActionNumber2(ParentModel parentViewModel) 
{ 
    if (parentViewModel != null) 
    { 
     List<ObjetTransfert> listeParentObjetsTransferts = new List<ObjetTransfert>(); 
     ActionNumber2 actionNumber2; 
     ConvertParentModelToParentBd(parentViewModel, listeParentObjetsTransferts); 
     _confidential.CCP(listeParentObjetsTransferts , out resultatC, 
      Enums.E.T); 

     //Enregistrer d'abord le resultat en Bd 
     resultatC.IdentifiantRC = new Guid().ToString(); 
     _resultatCS.Create(resultatC); 

     Session["ID"] = resultatC.Id; 

     UserInformationViewModel parentViewModel= parentViewModel.UserInformationViewModel; 
     var client = new MongoClient("mongodb://localhost:27017"); 
     var objDatabase = client.GetDatabase("Test"); 
     var collection = objDatabase.GetCollection<BsonDocument>("UsersInformations"); 
     BsonDocument objDocument = new BsonDocument { 
     {"Nom",info.NomUser}, 
     {"Prenom",info.PrenomUser}, 
     {"Email",info.EmailUser}, 
     {"Telephone",info.TelephoneUser},    
     }; 

     collection.InsertOne(objDocument); 
     return View(); 
    } 
    return null; 
} 

在同样的动作将所有的东西,因为我的观点是包含Html.BeginForm。

简单。