ASP.Net作为弹出框的核心视图

问题描述:

我目前正在处理一个表单。在表单中,如果没有需要的项目,您可以点击添加按钮,它会将您带到一个可以添加项目的新表单。我不希望它跳到另一页面,而是希望它弹出窗体上方,以便用户可以快速添加项目而不必旅行页面。ASP.Net作为弹出框的核心视图

这里是从snipit我Create.cshtml

<div class="form-group"> 
    <label asp-for="INT_CertificationsID" class="col-md-2 control-label"></label> 
    <div class="col-md-3"> 
     <select asp-for="INT_CertificationsID" class ="form-control" asp-items="ViewBag.INT_CertificationsID"></select> 
    </div> 
    <a class="btn btn-default" asp-area="" asp-controller="INT_Certifications" asp-action="Create">Add Certification</></a> 
</div> 

当附加认证属性被点击我想一个盒子里弹出来的Create.cshtml进行了认证。以便他们可以快速将其添加到列表中并继续填写表单。

我查找了几个例子来做到这一点,但其中大多数都是太旧,太长,或不在.netcore工作,由于与JqueryUI nuget包错误。

我会在隐藏div中加载部分视图以及需要它们的页面,并在需要时用JavaScript动态显示它们。不要使用表单发送http请求,而是使用AJAX。

使用弹出窗口可能会对您不利,因为浏览器默认弹出窗口阻止程序。可能在你的devbox上工作,但它可能在别的地方有完全不同的行为。

使用表单发送请求需要重新加载页面,这不能提供良好的用户体验。

修复您的解决方案,不要使用块为客户端脚本。改用鲍尔。这里有一个链接https://docs.microsoft.com/en-us/aspnet/core/client-side/

您需要制作一个控制器方法,以弹出的PartialView的形式返回所需的页面。

我认为你的意思是模态而不是“弹出”...你需要使用模态机制来创建模态窗口并通过AJAX获取(或发布)你的局部并使用结果在模态窗口中显示。

我喜欢bootbox,它是bootstraps模态功能的包装。