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; }
    ...
 }

ビューには、最初の会社を 2 番目の会社にコピーするためのチェックボックスとのリンクがありますが、データを保持するためにこのビューモデル (コントローラーへのビュー) を渡し、会社のコピーで同じビューを返す方法がわかりません..

ビューでこれを試します:

    @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オブジェクトが必要な場合は、それを指定する必要があります。残念ながら、リンクを作成するときに従うアプローチを使用して値を提供することはできません。

2つのオプションは、AccountRegisterViewModelの各プロパティに非表示フィールドを設定し、モデルバインディングにオブジェクトを作成させることですが、viewModelは複雑なオブジェクトで構成されているため、これでも理想的ではありません。田畑。

2番目のオプションは、より良いアプローチだと思いますが、CopyCompanyが必要な値を検索するために使用できるAccountRegisterViewModelに対応するある種のIDを渡すことです。

于 2012-12-12T22:53:50.293 に答える