Razor Page Call Modal From Code Behind on post async

Posted

技术标签:

【中文标题】Razor Page Call Modal From Code Behind on post async【英文标题】: 【发布时间】:2021-08-22 21:07:11 【问题描述】:

亲爱的,

我确实读取了条形码并在我阅读代码后通过回发将用户保存在数据库中,而在 OnPostAsync 中我验证了用户并且如果用户续订日期已过期,我想显示一个弹出窗口?那我该怎么做呢?

【问题讨论】:

【参考方案1】:

您可以使用ajax调用OnPostAsync然后在ajax成功时显示一个弹出窗口。这是一个演示:

cshtml(可以把你要传递的数据放到ajax的data):

@Html.AntiForgeryToken()
<button onclick="postdata()">submit</button>
@section Scripts

    <script>
        function postdata() 
            $.ajax(
                type: "POST",
                url: '',
                headers:  "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() ,
                data:  id: 1 
            ).done(function (result) 
                if (result.message != "") 
                    alert("message:"+result.message);
                    
                    
                );
                
        
    </script>


cshtml.cs:

public async Task<IActionResult> OnPostAsync(int id)
        
            //you can check if the user renewal date is expired here 
            if (id==1)
            
                return new JsonResult(new message = "user renewal date is expired" );
            
            else 
                return new JsonResult(new  message = "" );
            
        

结果:

【讨论】:

以上是关于Razor Page Call Modal From Code Behind on post async的主要内容,如果未能解决你的问题,请参考以下文章

Razor:asp-page-handler 不会触发处理程序并抛出 400 错误

Jenkins集成时报错 hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection fro

modal 多层弹窗 Maximum call stack size exceeded 解决方法

modal 多层弹窗 Maximum call stack size exceeded 解决方法

Asp .Net Core 2.2 Razor Pages Ajax Call Post 不工作

JSON.stringify 作为 Null 传入 Razor-Page