我有一個名爲Index的視圖和一個名爲'_Addbook'的PartialView,它顯示爲引導模式。在partialView中使用ajax表單將數據插入到數據庫中。ajax表單在Asp.net核心提交後的RedirectToAction
索引視圖:
<div class="panel panel-primary">
<div class="panel-body">
<div class="btn-group">
<a class="btn btn-primary marginbutoon" id="showBookgroup" data-toggle="modal" asp-action="AddBook"
data-target="#modal-book">
<i class="glyphicon glyphicon-plus"></i>
Add Book
</a>
</div>
</div>
Partialview:
@model WebApplication1.Models.Book
<form asp-controller="Home" asp-action="AddBook" id="myform"
data-ajax="true" data-ajax-method="POST"
data-ajax-mode="replace" data-ajax-update="#myform">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">Add Book</h4>
</div>
<div class="modal-body form-horizontal">
<div class="row">
<div class="form-group">
<label asp-for="BookName" class="col-sm-3 control-label"></label>
<div class="col-lg-6">
<input asp-for="BookName" class="form-control" />
<span asp-validation-for="BookName" class="text-danger"></span>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<input type="submit" class="btn btn-primary" value="Submit" />
</div>
控制器:
[HttpGet]
public IActionResult AddBook()
{
var book = new Book();
return PartialView("_AddBooks", book);
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult AddBook(Book model)
{
if (ModelState.IsValid)
{
using (var db = _Context.GetRequiredService<ApplicationDbContext>())
{
db.bookgroups.Add(model);
db.SaveChanges();
}
return RedirectToAction("Index");
}
else
{
return PartialView("_Addbooks", model);
}
}
的數據被正確地存儲在數據庫和模式隱藏提交之後,但指數視圖顯示混合起來。 如何在ajax提交後重定向?
你能寫出完整的腳本嗎?我在javascript中遇到問題 – saeed
你的意思是完整的腳本?只有一行js代碼需要放在局部視圖中(只需從答案中複製並粘貼) – Shyju
非常感謝。它工作正常。我有另一個問題。我怎樣才能動態地做到這一點。因爲我在我的項目中有幾個局部視圖,我想將ControllerName和ActionName作爲參數傳遞給_AddedSuccessfully.cshtml? – saeed