【解決方法】ASP.NET MVC を使用してフォームを保存すると、ブートストラップ モーダルが表示されない


こんにちは、みんな、

私はasp.net mvcを初めて使用します。データを保存した後、ブートストラップモーダルを表示しようとしています。 しかし、モーダルが表示されないか、モーダルが一瞬で消えます。
私のコードを見てください

事前に助けてくれてありがとう。

私が試したこと:

コントローラーのアクション:

C#
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AddNew(ProductModel pm)
{
 
    if (ModelState.IsValid)
    {                
        int result = IProductRep.Add(pm);
        if (result <= 0)
        {

            return HttpNotFound();
        }
        else
        {
            ViewBag.Saved = "saved";
       
        }
    }
   
    return View();
}

view : (ボタンは form メソッド post のフォームにあります)

HTML
<input type="submit" class="btn btn-primary float-right shadow" value="Save"  data-toggle="modal" data-target="#exampleModal">

かみそり
@if (ViewBag.Saved != null)
{
    <div class="modal fade" id="exampleModal">
        <div class="modal-dialog modal-dialog-centered">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
                    
                        <span>×</span>
                    
                </div>
                <div class="modal-body">
                    New product has been saved successfully.
                </div>
                <div class="modal-footer">
                    Close
                    Save changes
                </div>
            </div>
        </div>
    </div>
}

解決策 1

ブートストラップ モーダルは魔法のように単独では表示されません。 それらは、現在のページの要素をクリックするか、Javascript を介してトリガーすると表示されます。

モーダル・ブートストラップ v4.6[^]

ドキュメントの読み込み時にモーダル ダイアログを表示するには、ページにスクリプトを追加する必要があります。

かみそり
@section Scripts {
    @if (ViewBag.Saved != null)
    {
        <script>
        $(function(){
            $("#exampleModal").modal("show");
        });
        </script>
    }
}

解決策 2

一部の JavaScript または JQuery スタッフが不足しています。このビデオでは、正確に何をすべきかを示しています https://www.youtube.com/watch?v=WMHPMvi51yM

コメント

タイトルとURLをコピーしました