現時点では、ビュー名 'Self Deposit'とそれを戻すコントローラーがあります。これがメインですRegister.cshtml、Pending.cshtmlなどMVCコントローラ複数のビューとルーティングの問題
: 例 フォルダ名:SelfDeposit メインビューファイル:_LayoutSelfDeposit.cshtml 部分図 ビューは、部分的なビューで構築されたスタンドアローンのページですビュー:
<html dir="@(System.Globalization.CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft ? "rtl" : "ltr")">
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/SelfDeposit_css")
@Scripts.Render("~/bundles/scripts")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/jqueryval")
@if (System.Globalization.CultureInfo.CurrentUICulture.TextInfo.IsRightToLeft)
{
@Styles.Render("~/Content/BootstapRtl_css")
}
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700|PT+Sans" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12 text-center">
<a href="#" class="logo"></a>
</div>
</div>
</div>
@RenderBody()
<div class="container text-center">
<img src="~/Content/SelfDeposit/footer-icons.png" class="img-responsive footer-icons" />
</div>
@Html.Partial("ThirdPartyPixels/GoogleTagManager")
</body>
</html>
これはそれの開始をロードコントローラです:
private readonly ForexDbContext _Db = DbLoader.GetDb();
// GET: SelfDeposit
public ActionResult Index()
{
return RedirectToAction(nameof(this.Register));
}
public async Task<ActionResult> Register()
{
ViewBag.CountryId = await GetCountiesAsync();
var model = new SelfDepositRegistrationViewModel { };
if (TempData[Main.LEAD_REG_DETAILS_FOR_OPEN_ACCOUNT] != null && TempData[Main.LEAD_REG_DETAILS_FOR_OPEN_ACCOUNT] is LeadRegistered)
{
var leadRegistered = TempData[Main.LEAD_REG_DETAILS_FOR_OPEN_ACCOUNT] as LeadRegistered;
ViewBag.LeadRegisteredDetails = leadRegistered;
model.FirstName = leadRegistered.FirstName;
model.LastName = leadRegistered.LastName;
model.Email = leadRegistered.Email;
model.PhoneNumber = leadRegistered.Phone;
model.PhoneCountryCode = leadRegistered.PhoneCountry;
}
return View(model);
}
私が達成しようとしているのは、異なるレイアウトとCSSを持つ複数のビューをそれぞれ持っていますが、コントローラを同じにしておき、ビューを追加するたびにコピーしないことです。
私は次のことを試してみました:メインフォルダの下にフォルダを追加: SelfDeposit - > Layout1 - > _ LayoutSelfDeposit.cshtml しかし、私は、ルーティングの問題を把握できなかったので、それは動作しませんでした。
アイデアはありますか? おかげ
あなたが見ているのされていますビューの名前を効果的に動的にするために 'return View(viewName、model)'の行に沿って何かを実行しますか?クエルチング、DBなどから名前を見ることができます。私はフォームの旅の流れを制御するためにクッキーを使用して同様のものを実装しました。 – G0dsquad