【问题标题】:How to get value in main view from partial view loaded with ajax call?如何从加载 ajax 调用的局部视图中获取主视图中的值?
【发布时间】:2018-03-22 12:48:54
【问题描述】:

我正在开发 MVC 项目,其中我有主视图,并且我正在通过传递参考号使用 ajax 调用加载部分视图。 它是这样工作的。我通过输入参考号下订单,当我添加参考号时,它会通过控制器中的 ajax 在更改事件中调用来检查数据库中是否已经存在针对该参考号的任何订单。如果存在针对该引用表的任何订单,则会在部分视图中加载。 现在我真正想要的是在主视图中加载部分视图的值,以便我可以更新现有订单。希望你能理解我下面的问题是我的代码:

  <div class="col-md-2">
                @Html.TextBoxFor(model => model.reference, new { placeholder = "Reference Number", required = "required", @class = "form-control form-group-margin" })
            </div>
<div id="loadpartial"></div>




  <script>
$(document).ready(function(){

    $("#reference").on("change", function () {
        var refer = $("#reference").val();
        $.post("/CRUD/CheckifOrderExists=" + refer, function (data) {
            $("#GetNumber").html(data);

        });
    });
});

现在是部分视图:

<table id="dtable" class="table-primary table-responsive col-md-7">
    <thead>
        <tr>
            <td id="orderHead">
                Description
            </td>
            <td id="orderHead">
                Country Name
            </td>
            <td id="orderHead">
                City Name
            </td>
            <td id="orderHead">
                Quantity
            </td>

        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td style="text-align:center">
                    @item.description
                </td>
                <td style="text-align:center">
                    @did.CountryName
                </td>
                <td style="text-align:center">
                    @itemd.cityName

                      @item.quantity
                    </td>

                </tr>
            }
        </tbody>
    </table>


}

我想从主视图新 div 中的部分视图加载表格,以便我可以在现有参考编号下添加更多订单。

我知道在 ajax 调用之后我会像每个循环一样进行数据循环,但不知道怎么做。

【问题讨论】:

    标签: jquery asp.net-mvc partial-views


    【解决方案1】:

    您可以使用 AJAX get 方法从视图中获取数据并将其附加到 div 中。

    $(document).ready(function(){
    
        $("#reference").on("change", function () {
            var refer = $("#reference").val();
            $.post("/CRUD/CheckifOrderExists=" + refer, function (data) {
                $("#GetNumber").html(data);
                $.get("/partial_view_route", function (data) {
                  $("#loadpartial").append(data);
                });    
    
            });
        });
    });
    

    在您的路由器文件中创建一个获取路由并在内部 AJAX 中替换该路由。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-24
      • 2011-11-09
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多