0

これは、データベース クエリを実行し、このコントローラーを呼び出すフォームに結果を返すコントローラーです。

[HttpPost]
public ActionResult Index(string File)
{
    var list = db.Objects.Where(x => x.protocol == File).ToArray();
    ViewBag.Files = list;
    //return View();
}

結果を返す代わりに、同じフォームを新しいフォームで開きたいので、これを次のように変更しました。

[HttpPost]
public ActionResult Index(string File)
{
    var list = db.Objects.Where(x => x.protocol == File).ToArray();
    ViewBag.Files = list;
    return RedirectToAction("ShowList", ???);
}

そして、新しいメソッドを作成します:

public ActionResult ShowList(string site)
{
    var list = db.Objects.Where(x => x.protocol == site).ToArray();
    ViewBag.Files = list;
    return View();
}

現在、受信した文字列を新しいメソッド (ShowList) に送信する方法がわかりません。

4

2 に答える 2

2

パラメータを新しいアクションに渡すには、次のようにする必要があります。

[HttpPost]
public ActionResult Index(string File)
{
    var list = db.Objects.Where(x => x.protocol == File).ToArray();
    ViewBag.Files = list;
    return RedirectToAction("ShowList", new { site = "yourparam" });
}

このようにして、paramsiteを ShowList メソッドに渡します。

それが役に立てば幸い !

于 2013-11-12T13:12:37.283 に答える
-1

あなたは書くことができます

RedirectToAction(ControllerName, ActionName) を返します。

例えば

return RedirectToAction("[ControllerName]", "ShowList");

于 2013-11-12T13:09:52.787 に答える