【发布时间】:2020-07-27 15:31:25
【问题描述】:
在局部视图中,当单击 html 元素时,我正在调用 jquery .click() 事件,但这些事件并未触发。但是当我在主视图中放置相同的代码时,它们正在工作。请帮助我
以下是事件。
$('.page-change').click(function (e) {
alert("Hello page");
});
$('.toggle-sort').click(function (e) {
alert("Hello");
});
以下是我完成的步骤:
从常规视图页面调用局部视图。 当我点击标题 EmployeeName 应该触发相关的 .click() 事件,但该事件不起作用。
如果我将部分视图的代码放在 index.cshtml 中,那么 .click() 事件就会起作用。
Controller:将视图模型数据传递给索引 cshtml 的 HomeController
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
var res = new List<EmployeeViewModel>() {
new EmployeeViewModel() { EmployeeDepartment = "Development", EmployeeName = "Sarath" },
new EmployeeViewModel (){ EmployeeDepartment="Sales",EmployeeName="Stephen"},
new EmployeeViewModel (){ EmployeeDepartment="Human Resource",EmployeeName="Krishna"},
new EmployeeViewModel (){ EmployeeDepartment="Development",EmployeeName="Naresh"}};
return View(res);
}
}
查看:Index.cshtml
@model IEnumerable<EmployeeViewModel>
@{
ViewData["Title"] = "Home Page";
}
<div class="text-center">
<h1 class="display-4">Employees Data</h1>
<div class="row">
<div class="col my-3">
<partial name="_EmployeesDataPartial" model="Model" />
</div>
</div>
</div>
部分视图_EmployeesDataPartial.cshtml
@model IEnumerable<RandDpartialView.Models.EmployeeViewModel>
<table class="table">
<thead>
<tr>
<th class="th--sortable toggle-sort" style="cursor:pointer">
@Html.DisplayNameFor(model => model.EmployeeName)
</th>
<th>
@Html.DisplayNameFor(model => model.EmployeeDepartment)
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.EmployeeName)
</td>
<td>
@Html.DisplayFor(modelItem => item.EmployeeDepartment)
</td>
</tr>
}
</tbody>
</table>
<div>
<ul class="pagination" style="cursor:pointer">
<li class="pagination-item">
<a class="pagination-link page-change" data-page="1">
<span class="icon fa fa-fw fas fa-angle-double-left"></span><span class="text"> First</span>
</a>
</li>
</ul>
</div>
@section Scripts{
<script type="text/javascript">
$(function () {
$('.page-change').click(function (e) {
alert("Hello page");
});
$('.toggle-sort').click(function (e) {
alert("Hello");
});
});
</script>
}
【问题讨论】:
标签: javascript asp.net-mvc asp.net-core partial-views