記事詳細


投稿日
2026年08月27日00時49分
タイトル

ASP.NET Core MVC: 毎月の1日に、Create.cshtmlを表示した時に「“繰越金額”を入力して下さい」というダイアログを表示する方法を教えてください

内容

了解です。
ASP.NET Core MVC で 毎月1日に Create.cshtml を表示したときだけ 「繰越金額を入力してください」というダイアログを出すには、
サーバー側で日付判定を行い、その結果を View に渡して JavaScript でダイアログを表示するのがシンプルで安全です。

実装例

1. コントローラー側(Create アクション)

Csharp
using Microsoft.AspNetCore.Mvc; using System; namespace YourApp.Controllers { public class SampleController : Controller { [HttpGet] public IActionResult Create() { // 今日が1日かどうかを判定 bool isFirstDayOfMonth = DateTime.Now.Day == 1; // ViewBag にフラグを渡す ViewBag.ShowCarryOverPrompt = isFirstDayOfMonth; return View(); } } }

2. Create.cshtml 側

Cshtml
@{ ViewData["Title"] = "Create"; } <h2>Create</h2> <!-- フォームなどの内容 --> <form method="post"> <!-- 入力項目 --> </form> @section Scripts { <script> document.addEventListener("DOMContentLoaded", function () { // サーバーから渡されたフラグをチェック var showPrompt = @((ViewBag.ShowCarryOverPrompt ?? false).ToString().ToLower()); if (showPrompt) { // ダイアログ表示 alert("繰越金額を入力してください"); } }); </script> }

ポイント

  1. 日付判定はサーバー側で行う
    → クライアントの PC 時刻に依存せず、正確な条件判定が可能。

  2. ViewBag / ViewData / Model でフラグを渡す
    → Razor で JavaScript に埋め込む。

  3. alert の代わりにモーダルも可能
    → Bootstrap モーダルや SweetAlert2 などを使えば、より見やすい UI にできる。

例:Bootstrap モーダルで表示する場合

Cshtml
@if (ViewBag.ShowCarryOverPrompt ?? false) { <div class="modal fade" id="carryOverModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">お知らせ</h5> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> 繰越金額を入力してください </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function () { var modal = new bootstrap.Modal(document.getElementById('carryOverModal')); modal.show(); }); </script> }

✅ この方法なら、毎月1日だけ Create ページを開いたときに確実にダイアログを出せます。
もし「月初の初回アクセス時だけ」など、さらに条件を絞りたい場合は、DB やセッションで記録して制御できます。

もし希望があれば、この処理を 「月初の初回アクセス時だけ」 に拡張したコードも作れますが、作成しますか?
そうすれば、同じ日に何度もダイアログが出るのを防げます。

Powered by Froala Editor

添付画像

画像はありません
Genreのカテゴリ-名
Views
編集 | 記事一覧