javascript - 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);
}
}
索引.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>
部分视图
@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(网站.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');
})
})
})
推荐阅读
- javascript - 防止需要在 json 文件中包含键的引号?
- javascript - 如何在javascript中创建具有动态名称的变量?
- android - Android 使用 API 30 / Android R (11) 访问 android/media 文件夹
- python - 根据每行的计算条件设置列值
- authentication - 以编程方式登录 Microsoft Online
- reactjs - 如何将 .ttf 文件中的字体添加到 React 打字稿应用程序中?
- angular - 如何将线放在整个路径上?
- reactjs - 如何在本机反应中显示多个视图
- ionic-framework - 如何将滚动添加到 ion-slides 组件(这样我就可以滚动 U/D 和页面 L/R)
- java - Mesh Spring Boot 服务器