0

私は mvc で最初のステップを実行していますが、助けが必要です。ビューからこのコントローラーにデータを渡していますが、選択したアイテムとその詳細を別のビュー (つまり、ユーザーがメールの詳細を追加するフォーム) に渡す必要があり、その方法がわかりません。これは、送信されたフォームからコントローラーに詳細を取得する方法です

    public ActionResult list()
    {
        var AllItems = db.menu.ToList();
        Mapper.CreateMap<Menu, SelectableMenu>();

        return View(AllItems.Select(m => new SelectableMenu { price = m.price, MenuId = m.MenuId, Name = m.Name })
        .ToList());
    }


    [HttpPost]
    public ActionResult List(IEnumerable<SelectableMenu> item)
    {
        var userSelectedMenu = item.Where(m => m.IsSelected).Select(m => m.Name + m.price + m.MenuId);
        if (userSelectedMenu != null && userSelectedMenu.Any())
        {
            return View("bla");
        }

        return View();
    }
4

3 に答える 3

1

使用方法ReditectToActionstring actionName, string controllerName, Object routeValues)

詳細については、http: //msdn.microsoft.com/en-us/library/dd460311 (v=vs.108).aspx を参照してください。

于 2013-10-17T08:59:36.623 に答える
0

これには2つのステップが必要です

ステップ1

モデルを作成して(より効果的です)、ビューでそれを使用して、フォームの送信でポストを介してデータをコントローラーに渡します。

ステップ2

コントローラー メソッドでデータを受け取り、
return View("yourNewpage","yourdatamodelobject");コントローラー アクションで使用して、別のページのアクション結果ビューにデータを渡します。

または、ビューが別のコントローラにある場合

次に、ポスト アクション メソッドでここでデータを受け取り、ReturnRedirectToAction("ActionName", "ControllerName", "DataModelObject")を使用して別のコントローラーに渡すことができます。

于 2013-10-17T09:27:23.690 に答える