【问题标题】:ASP.NET Core MVC partialviewASP.NET Core MVC 局部视图
【发布时间】:2020-06-13 08:59:13
【问题描述】:

为什么部分视图在脚本之后?

任何帮助将不胜感激。我认为脚本有问题。但什么不是。

控制器

public ActionResult EditContract(int id)
{
    var contracts = _context.Contract.Find(id);
    ViewData["CustomersId"] = new SelectList(_context.Customers, "Id", "Name",   ontracts.CustomersId);
    return PartialView(contracts);
}

索引.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">&times;</a>
                <h4><i class="fa fa-user"></i>&nbsp; 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>

【问题讨论】:

  • 这个案例有什么更新吗?

标签: asp.net-core-mvc asp.net-mvc-partialview


【解决方案1】:

在您的代码中,我们可以发现您在 JavaScript 客户端使用 url /Customers/EditCustomer 发出请求,但您的操作名称是 EditContract,请确保您使用正确的 url 发出请求,或者您可以为您的操作配置路由,如下所示。

[Route("Customers/EditCustomer")]
public ActionResult EditContract(int id)
{

为什么部分视图在脚本之后?

您正在使用jQuery .load 方法从服务器动态获取部分视图结果并将其填充到div 容器"modal-body" 而不是直接在视图页面中using Tag Helper/HTML Helper to reference your partial view,因此您的部分视图将在您调用JavaScript 后显示/呈现功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多