-1
ホームコントローラの名前を_layoutページを割り当てようとしているアーティクルコントローラに渡そうとしています。1つのコントローラの名前を別のコントローラに渡す方法ASP.NET MVC 5
以下は私の試みたコードです。
public class HomeController : Controller
{
public ActionResult Index()
{
TempData["Ctrl"] = "Home";
}
}
public class ArticleController : Controller
{
public ActionResult Index()
{
if (TempData["Ctrl"] != null)
{
return View("Index", "~/Views/Shared/_Layout.cshtml", articles);
}
return View("Index", "~/Views/Shared/_otherLayout.cshtml", articles);
}
}
問題は、私はTempData
価値を失ってるように私は(私はそれを行うにはしたくない)Homeコントローラーで一人ひとりの方法でTempData
値を代入しています。私は運がない家のコントローラのコンストラクタで値を割り当てることを試みた。
誰も私を助けてくれませんか、正しい方向で私に指摘してくださいありがとう。
Session
オブジェクトにデータを割り当てることができ、あなたのシナリオは何ですか?私はあなたがメソッドを呼び出すときには取得できません。セッションにこの値を保存するだけでいいですか? –'Session [" Ctrl "]'はページリクエストを渡って動作するかもしれませんが、私は、リクエスト応答シーケンスの特定のポイントで値を失った 'TempData'を使うのではなく、セッションステートメカニズムを好みます。 –
あなたは値を保持するためにセッション変数を使用することができ、1セッションに1回だけ設定する必要があります –