2017-07-18 15 views
0

我目前正在處理一個表單。在表單中,如果沒有需要的項目,您可以點擊添加按鈕,它會將您帶到一個可以添加項目的新表單。我不希望它跳到另一頁面,而是希望它彈出窗體上方,以便用戶可以快速添加項目而不必旅行頁面。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包錯誤。

回答

0

我會在隱藏div中加載部分視圖以及需要它們的頁面,並在需要時用JavaScript動態顯示它們。不要使用表單發送http請求,而是使用AJAX。

使用彈出窗口可能會對您不利,因爲瀏覽器默認彈出窗口阻止程序。可能在你的devbox上工作,但它可能在別的地方有完全不同的行爲。

使用表單發送請求需要重新加載頁面,這不能提供良好的用戶體驗。

修復您的解決方案,不要使用塊爲客戶端腳本。改用鮑爾。這裏有一個鏈接https://docs.microsoft.com/en-us/aspnet/core/client-side/

0

您需要製作一個控制器方法,以彈出的PartialView的形式返回所需的頁面。

我認爲你的意思是模態而不是「彈出」...你需要使用模態機制來創建模態窗口並通過AJAX獲取(或發佈)你的局部並使用結果在模態窗口中顯示。

我喜歡bootbox,它是bootstraps模態功能的包裝。