0

我很难在没有 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; }
    ...
 }

在视图中,我有一个带有复选框的链接,用于将第一家公司与第二家公司复制但我不知道如何传递此视图模型(视图到控制器)以保留我的数据并返回与公司副本相同的视图。

我试试这个,鉴于:

    @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);
     }

任何的想法 ??感谢您的帮助

4

1 回答 1

0

如果 CopyCompanies 操作方法需要 AccountRegisterViewModel 对象,那么您将需要提供它。不幸的是,您将无法使用创建链接时遵循的方法来提供价值。

您的两个选择是在 AccountRegisterViewModel 中为每个属性设置一个隐藏字段,然后让模型绑定创建对象,但即使这样也不理想,因为 viewModel 由复杂的对象组成,因此您将隐藏太多字段。

您的第二个选项(我认为这是一种更好的方法)是传递某种与 CopyCompany 可以用来查找所需值的 AccountRegisterViewModel 相对应的 Id。

于 2012-12-12T22:53:50.293 回答