Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在catch块中打开模态对话_C#_Asp.net Core_Modal Dialog - Fatal编程技术网

C# 在catch块中打开模态对话

C# 在catch块中打开模态对话,c#,asp.net-core,modal-dialog,C#,Asp.net Core,Modal Dialog,我的行动中有这个代码 var singedUser = HttpContext.User.Identity.Name; try { _purchaseService.PurchaseCard(singedUser, cardName); } catch { } 我希望只有当代码进入catch块时才会打开它 <div id="Modal" class="modal f

我的行动中有这个代码

var singedUser = HttpContext.User.Identity.Name;

        try
        {
            _purchaseService.PurchaseCard(singedUser, cardName);
        }
        catch
        {

        }
我希望只有当代码进入catch块时才会打开它

<div id="Modal" class="modal fade" role="dialog">
    <div class="modal-dialog">

        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Purchasing Card</h4>
            </div>
            <div class="modal-body">
                <p>You have unsufficient funds!</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
            </div>
        </div>

    </div>
</div>

&时代;
采购卡
你没有足够的资金

取消
这是我的按钮

<a class="button btn btn-success" 
    asp-controller="Store" asp-action="Buy" 
    asp-route-data ="@card.Name">Buy (@card.Price coins)</a>
购买(@card.Price硬币)

如果有人告诉我,只有当代码进入catch块时,我才能在同一页中打开此对话框,我将通过控制器/操作上的ViewBag传递变量,我将不胜感激。控制器中的类似内容:

<div id="Modal" class="modal fade" role="dialog">
    <div class="modal-dialog">

        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Purchasing Card</h4>
            </div>
            <div class="modal-body">
                <p>You have unsufficient funds!</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
            </div>
        </div>

    </div>
</div>
            var singedUser = HttpContext.User.Identity.Name;

        try
        {
            _purchaseService.PurchaseCard(singedUser, cardName);
        }
        catch
        {
            ViewBag.ShowModal = false;
        }
然后切换是否触发JQuery以在视图的脚本部分显示模式:

@section Scripts{
<script>
    @if(ViewBag.ShowModal == true){
        @Html.Raw("$('#Modal').modal('show');");
    }
</script>
}
@节脚本{
@如果(ViewBag.ShowModal==true){
@Html.Raw($('#Modal').Modal('show');”;
}
}

您还可以使用ajax调用返回部分视图并将其添加到DOM中。设置模态以加载局部视图实际上非常简单:

  • 创建局部视图:_ModalContent.cshtml

    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Purchasing Card</h4>
        </div>
        <div class="modal-body">
            <p>You have unsufficient funds!</p>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
        </div>
    </div>
    

  • 谢谢我会查那个,因为我找不到Viewbag一号:)@Edwardcho,如果回答有帮助,你可以把它标记为答案。对不起,我想我需要做一些调整,因为它会打开一个带有模式内容的空白新页面:,如果购买失败,我希望模式显示在同一页面中declined@Edwardcho,不,它不会打开新页面。在新页面中尝试代码,
    public IActionResult buy(string data)
    {
        .....
        {
    
            return PartialView("_ModalContent");
        }
    }