1

ModelBinding を使用してこれを実行できることは理解していますが、ViewBag

ViewBagビューでプロパティを設定します

@{
ViewBag.WasPriorityCustomer = Model.PriorityCustomer == true;
}

優先顧客ではないユーザーを優先顧客に変更できますが、そもそも優先顧客であったかどうかを知る必要があります。

コントローラーで

[HttpPost]
public ActionResult Save(MyModel model)
{
  if (ViewBag.WasPriorityCustomer == false && model.PriorityCustomer == true)
  {
    //Thank you for becoming a priority customer
  }
}

残念ながらViewBag.WasPriorityCustomer、常に null です

4

2 に答える 2

3

あなたは間違った方法で物事をやろうとしているだけです:

ViewBagアクションに の値を設定し、生成されたビューでその値を使用できます。

POSTただし、アクションのビューから値を取得するには、非表示の入力を使用する必要があります。

ビューでそのようなもの(テストされていません):

@ {bool wasPriorityCustomer = Model.PriorityCustomer;}

@Html.Hidden("wasPriorityCustomer", wasPriorityCustomer)

アクションは次のようになります

[HttpPost]
public ActionResult Save(MyModel model, bool wasPriorityCustomer)

または、ViewModel を変更して「非表示」の値を含めることができます。

と使用@Html.HiddenFor(m => m.WasPriorityCustomer)

于 2012-08-31T21:12:52.130 に答える
-1

viewBag に何らかの値を格納し、View でこの ViewBag 値を使用する場合は、このコードを試してください。

モデルアクションで

ViewBag.Test = ("NewTest");

ビューで書くことができます

@ViewBag.ProcedureTypeId

このようにして、ViewBag価値を得ることができますViewpage

于 2012-09-04T09:48:21.587 に答える