MVC 4 - Use a different model in partial view

前端 未结 4 477
走了就别回头了
走了就别回头了 2021-02-05 02:51

Please bear with my noobness, I\'m super new to the MVC pattern.

What I\'m trying to do

I am building a profile information page for re

4条回答
  •  情话喂你
    2021-02-05 03:20

    The best way to handle this situation is to use and pass viewModel to your Profile controller, viewModel is wrapper class for multiple objects that you want to pass to your view.

    public class ProfileUserViewModel
    {
       public ProfileModel ProfileModelObject {get; set;}
       public UserModel  UserModelObject {get; set;}
    }   
    

    Your controller should look like:

    public ActionResult Profil()
    {            
        var profileModel = db.Users.First(e => e.UserName == WebSecurity.CurrentUserName);
        var userModel = //fetch from db.
    
        var pmViewModel = new ProfileUserViewModel  
                              {
                                  ProfileModelObject = profileModel,
                                  UserModelObject = userModel
                              };
    
       return View(pmViewModel);
    }
    

    And finally your view :

    @model Applicense.Models.ProfileUserViewModel
    
    
    
    @if (Model.ProfileModelObject.PhoneNumber != null)
    {
       @Model.PhoneNumber
    }
    else
    {
        You haven't set up your phone number yet. 
    }
    

提交回复
热议问题