如何解决jQuery弹出窗口在ASP.NET Core 2.2中不起作用
我试图创建一个弹出表单来添加一些雇员或类别。但是当我单击“创建”按钮时,它什么都没用。
这是我的代码:
namespace EasyBay.Areas.Admin.Controllers
{
[Area("Admin")]
public class CategoryController : Controller
{
private ApplicationDbContext _db;
public CategoryController(ApplicationDbContext db) //input parameter
{
_db = db;
}
public IActionResult Index()
{
return View(_db.Category.ToList());
}
[HttpGet]
public ActionResult Create()
{
Category ca = new Category();
return PartialView("_CatPartial",ca);
}
[HttpPost]
[ValidateAntiForgeryToken] //using for security purpose
public async Task<IActionResult> Create(Category category) //input parameter
{
if (ModelState.IsValid)
{
_db.Category.Add(category);
await _db.SaveChangesAsync();
TempData["save"] = "Product Type Save Successfully";
return RedirectToAction(nameof(Index));
}
return View(category);
}
}
Index.cshtml
@model IEnumerable<EasyBay.Models.Category>
@{
ViewData["Title"] = "Index";
}
<div id="PlaceHolderHere"></div>
@*<button type="button" class="btn" id="c-btn" data-url="@Url.Action("Create")">Open Contact Form</button>*@
<button type="button" class="btn btn-primary" data-toggle="ajax-model" data-target="#addEmployee" data-url= "@Url.Action("Create")">Create</button>
<table class="table">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Id)
</th>
<th>
@Html.DisplayNameFor(model => model.CategoryName)
</th>
<th></th>
</tr>
</thead>
<tbody>
PartialView
@model Category
<div class="modal fade" id="#addEmployee">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="#addEmployeeLabel">Add Category</h4>
<button type="button" class="close" data-dismiss="modal">
<span>x</span>
</button>
</div>
<div class="modal-body">
<form action="Create">
<div class="form-group">
<label asp-for="CategoryName"> </label>
<input asp-for="CategoryName" class="form-control" />
<span asp-validation-for="CategoryName" class="text-danger"></span>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" data-dismiss="modal" class="btn btn-primary">Close</button>
<button type="button" data-save="modal" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</div>
js(site.js)
$(function () {
var PlaceHolderElement = $('#PlaceHolderHere');
$('.button[data-toggle="ajax-model"]').click(function (event) {
var url = $(this).data('url');
$.get(url).done(function (data) {
PlaceHolderElement.html(data);
PlaceHolderElement.find('.modal').modal('show');
})
})
})
在这里,我还显示了创建PartialView的位置。当我单击“创建”按钮时,什么都不做。我不明白哪里出了问题。 我是初学者,请帮助任何人。
解决方法
$(function () {
var PlaceHolderElement = $('#PlaceHolderHere');
$('button[data-toggle="ajax-model"]').click(function (event) {
var url = $(this).data('url');
$.get(url).done(function (data) {
PlaceHolderElement.html(data);
PlaceHolderElement.find('.modal').modal('show');
})
})
})
我在按钮之前输入了一个点,这是我的错误。只需删除此“。”按钮之前,它就解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。