ASP.NET 核心 MVC 部分视图
ASP.NET Core MVC partialview
为什么局部视图在脚本之后?
如有任何帮助,我们将不胜感激。我认为脚本有问题。但是什么不是。
控制器
public ActionResult EditContract(int id)
{
var contracts = _context.Contract.Find(id);
ViewData["CustomersId"] = new SelectList(_context.Customers, "Id", "Name", ontracts.CustomersId);
return PartialView(contracts);
}
Index.chtml
<div class="modal fade" id="EditCustomer">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close" data-dismiss="modal">×</a>
<h4><i class="fa fa-user"></i> Edit Customer</h4>
</div>
<div class="modal-body" id="myEditCustomer">
</div>
</div>
</div>
</div>
<script>
function EditCustomer(id) {
var url = "/Customers/EditCustomer?id=" + id;
$("#myEditCustomer").load(url, function () {
$("#EditCustomer").modal("show");
})
}
</script>
在您的代码中,我们可以发现您在 JavaScript 客户端使用 url /Customers/EditCustomer
发出请求,但您的操作名称是 EditContract
,请确保您使用正确的请求 url,或者您可以为您的操作配置路由,如下所示。
[Route("Customers/EditCustomer")]
public ActionResult EditContract(int id)
{
Why partial view gets after scripts?
您正在视图页面中使用 jQuery .load method to dynamically get partial view result from server and populate it to div container "modal-body"
rather than directly using Tag Helper/HTML Helper to reference your partial view,因此在您调用 JavaScript 函数后,您的局部视图将是 displayed/rendered。
为什么局部视图在脚本之后?
如有任何帮助,我们将不胜感激。我认为脚本有问题。但是什么不是。
控制器
public ActionResult EditContract(int id)
{
var contracts = _context.Contract.Find(id);
ViewData["CustomersId"] = new SelectList(_context.Customers, "Id", "Name", ontracts.CustomersId);
return PartialView(contracts);
}
Index.chtml
<div class="modal fade" id="EditCustomer">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close" data-dismiss="modal">×</a>
<h4><i class="fa fa-user"></i> Edit Customer</h4>
</div>
<div class="modal-body" id="myEditCustomer">
</div>
</div>
</div>
</div>
<script>
function EditCustomer(id) {
var url = "/Customers/EditCustomer?id=" + id;
$("#myEditCustomer").load(url, function () {
$("#EditCustomer").modal("show");
})
}
</script>
在您的代码中,我们可以发现您在 JavaScript 客户端使用 url /Customers/EditCustomer
发出请求,但您的操作名称是 EditContract
,请确保您使用正确的请求 url,或者您可以为您的操作配置路由,如下所示。
[Route("Customers/EditCustomer")]
public ActionResult EditContract(int id)
{
Why partial view gets after scripts?
您正在视图页面中使用 jQuery .load method to dynamically get partial view result from server and populate it to div container "modal-body"
rather than directly using Tag Helper/HTML Helper to reference your partial view,因此在您调用 JavaScript 函数后,您的局部视图将是 displayed/rendered。