我尝试使用RedirectToAction方法将复杂对象(对象内的对象)传递给我的操作方法,但它返回null。有没有办法使用RouteValueDictionary?
我的模特:
public class ModelUser
{
public UserLine User { get; set; }
}
public class UserLine
{
public int? UserID { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
我的行动方法:
[HttpPost]
public async Task<ActionResult> Create(UserCreate model)
{
var valDTORegister = new RegisterLine() { Email = model.Email, Password = model.Password, OwnerType = model.OwnerType };
var result = await PostRequest<RegisterLine, UserLine>("http://localhost:10853/", "api/user/Create", valDTORegister);
var usermodel = new ModelUser();
usermodel.User = result;
return RedirectToAction("ProfileUser", new RouteValueDictionary(usermodel));
}
public ActionResult ProfileUser(ModelUser usermodel) //User object is null
{
return View();
}
我尝试使用RouteValueDictionary仅传递UserLine对象,并且值已正确传递给我的ProfileUser方法。这很好,但我想传递整个ModelUser对象,因为我可能需要在其中添加更多对象。
答案 0 :(得分:0)
您可以将ProfileUser
页面连接到模型ModelUser
,然后像这样调用此视图:
return View("ProfileUser", usermodel);
动作shold是没有参数
public ActionResult ProfileUser()
{
return View();
}
所有数据都在ProfileUser的模型(“ModelUser”)中