c# - Pass a user to a ViewModel -
ok, little stuck here.
viewmodel
public class userprofileedit { public virtual applicationuser applicationuser { get; set; } [required] public string firstname { get; set; } public string twitterhandle{ get; set; } [required] [display(name = "email")] [datatype(datatype.emailaddress)] public string email { get; set; } // etc etc } controller
public actionresult yourprofile() { string username = user.identity.name; applicationuser user = db.users.firstordefault(u => u.username.equals(username)); // construct viewmodel userprofileedit model = new userprofileedit(); model.applicationuser = user; return view(model); } and on view have @model mysite.models.userprofileedit @ top.
how can pass user viewmodel? know can line line
model.email = user.email; for example, should simpler?
you can line line, or can use automapper. give try http://automapper.org/
this useful specially when have same kind of object mappings repeated in code.
Comments
Post a Comment