我很难在没有JavaScript的情况下开发功能。
我有一个ViewModel:
public class AccountRegisterViewModel
{
#region Properties
public User User { get; set; }
public ExternalAccounts ExtAccounts { get; set; }
public LocalPassword Password { get; set; }
public Company CompanyARegister { get; set; }
public Company CompanyBRegister { get; set; }
public bool SameCompanies { get; set; }
public int NbCompanies { get; set; }
...
}
在视图中,我有一个复选框链接,用于复制第一个公司和第二个公司 但是我不知道如何通过这个viewModel(View to Controller)保存我的数据并返回与公司copie相同的View ..
我在视野中尝试这个:
@Html.ActionLink("Click", "CopyCompanies","Account", new { model = Model })
@Html.CheckBoxFor(model => model.SameCompanies)
在控制器中:
[AllowAnonymous]
public ActionResult CopyCompanies(AccountRegisterViewModel model)
{
...
if (model.SameCompanies)
{
// copie
}else //clear
...
return View("Step2Register", model);
}
任何想法?谢谢你的帮助
答案 0 :(得分:0)
如果CopyCompanies操作方法需要AccountRegisterViewModel对象,则需要提供它。遗憾的是,您无法使用创建链接时所遵循的方法提供值。
你的两个选择是为AccountRegisterViewModel中的每个属性设置一个隐藏字段,然后让模型绑定创建对象,但即使这样也不理想,因为viewModel由复杂对象组成,所以你会有办法太多隐藏的领域。
我认为第二种选择是更好的方法,就是传递某种与AccountRegisterViewModel相对应的Id,CopyCompany可以使用它来查找所需的值。