Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net mvc中添加记录后立即自动排序,无需刷新网页_C#_Javascript_Asp.net_Asp.net Mvc_Knockout.js - Fatal编程技术网

C# 在asp.net mvc中添加记录后立即自动排序,无需刷新网页

C# 在asp.net mvc中添加记录后立即自动排序,无需刷新网页,c#,javascript,asp.net,asp.net-mvc,knockout.js,C#,Javascript,Asp.net,Asp.net Mvc,Knockout.js,我正在开发一个应用程序,其中每个产品都有一个部分,如下图所示。我正在使用knockout js和OData添加一条记录 当我在C5中点击一条记录上的复制按钮时,现在它正在复制一条我复制的记录,并将其添加到C5部分的末尾。但是我想把这条记录添加到我按下复制按钮的记录的正下方 至于现在,我正在使用LINQ中的OrderBy对部分进行排序,但这只有在我刷新网页时才起作用 LING代码: public override IQueryable<CanadianCrude> Get()

我正在开发一个应用程序,其中每个产品都有一个部分,如下图所示。我正在使用knockout js和OData添加一条记录

当我在C5中点击一条记录上的复制按钮时,现在它正在复制一条我复制的记录,并将其添加到C5部分的末尾。但是我想把这条记录添加到我按下复制按钮的记录的正下方

至于现在,我正在使用LINQ中的OrderBy对部分进行排序,但这只有在我刷新网页时才起作用

LING代码:

 public override IQueryable<CanadianCrude> Get()
        {

            return db.CanadianCrudes.OrderByDescending(c => c.Term).ThenBy(c=>c.Bid);
        }
var CanadianCrudeViewModel = function (CanadianContext) {
    var self = this;
    self.canadiancrudes = ko.observableArray();
 self.copy = function (canadiancrude) {
        var payload = {
            Id: canadiancrude.Id, Term: "", Product: canadiancrude.Product, Location: "", Pipeline: "",
            BidCP: "", BidVolume: "", Index: "", Bid: "0.0", Offer: "0.0",
            OfferVolume: "", OfferCP: ""
        };
        $.ajax({
            url: '/odata/Canadiancrudes',
            type: 'POST',
            // data: ko.toJSON(payload),
            data: JSON.stringify(payload),
            contentType: 'application/json',
            dataType: 'json'
        });
    }
$.ajax({
        dataType: "json",
        url: '/odata/Canadiancrudes',
        data: ko.toJSON(self.products),
        async: false,
        success: function (data) {
            self.datainput((ko.utils.arrayMap(data.value, function (canadiancrude) {
                var obsCanadianCrude = {
                    Id: canadiancrude.Id,
                    Term: ko.observable(canadiancrude.Term),
                    Product: canadiancrude.Product,
                    Location: ko.observable(canadiancrude.Location),
                    Pipeline: ko.observable(canadiancrude.Pipeline),
                    BidCP: ko.observable(canadiancrude.BidCP),
                    BidVolume: ko.observable(canadiancrude.BidVolume),
                    Index: ko.observable(canadiancrude.Index),
                    Bid: ko.observable(canadiancrude.Bid),
                    Offer: ko.observable(canadiancrude.Offer),
                    OfferVolume: ko.observable(canadiancrude.OfferVolume),
                    OfferCP: ko.observable(canadiancrude.OfferCP),
                    Edit: ko.observable(false),

                    Locked: ko.observable(canadiancrude.Locked)
                }
                self.watchModel(obsCanadianCrude, self.modelChanged);
                return obsCanadianCrude;
            })));
        }
    });
 var viewModel = new CanadianCrudeViewModel(canadiancrudeSignalR);
 ko.applyBindings(viewModel);
查看

    <table class="productTable">

        <thead>

            <tr>

                <th>Term</th>
                <th>Location</th>
                <th>Pipeline</th>
                <th>Bid C/P</th>
                <th>Index</th>
                <th>Bid Volume</th>
                 <th>Bid</th>
                <th>Offer</th>
                <th>Offer Volume</th>
                <th>Offer C/P</th>
                <th colspan="3">Actions</th>
                @*  <th></th>
                <th></th>*@

            </tr>

        </thead>

        <tr>
<script type="text/html" id="read-template">

    <td data-bind="text: Term"></td>
    <td data-bind="text: Location"></td>
    <td data-bind="text: Pipeline"></td>
    <td data-bind="text: BidCP"></td>
     <td data-bind="text: Index"></td>
    <td data-bind="text: BidVolume"></td>

    <td class="highlight" data-bind="text: Bid"></td>
    <td class="highlight" data-bind="text: Offer"></td>
    <td data-bind="text: OfferVolume"></td>
    <td data-bind="text: OfferCP"></td>



    <td class="actioncells">
        @*<a href="#" title="Copy" data-bind="click: $root.copy">
            <img src= '@Url.Content("~/Images/add.png")' /></a>*@
        <a class="btn" title="Copy" data-bind="click: $root.copy">Copy</a>
    </td>

    <td class="actioncells">
        @*<a href="#" title="Edit" data-bind="click: $root.edit">
            <img src= '@Url.Content("~/Images/edit.png")' /></a>*@
        <a class="btn btn-success" title="Edit" data-bind="click: $root.edit">Edit</a>
    </td>


    <td class="actioncells">
        @*<a href="#" title="Delete" data-bind="click: $root.remove">
        <img src= '@Url.Content("~/Images/delete.png")' /></a>*@
        <a class="btn btn-danger" title="Delete" data-bind="click: $root.remove">Delete</a>

    </td>
</script>
</tr>

        </tbody>
</table>

学期
位置
管道
投标C/P
指数
投标量
投标
提供
报价量
报盘付款交单
行动
@*  
*@
@**@
*@
*@
删除

谁能给我一个好方法吗。

只要在可观察数组上调用.sort()。。。您可以在视图模型或视图中执行此操作。我如何在viewCall中执行此操作。根据您的observableArray排序。。。您的问题中没有显示任何视图特定的代码,因此我无法添加itI。我不清楚这一点,但我已添加(编辑)了所有代码,以防我使用计算的可观察对象来显示数据。计算出的可观测值将包含您的
加拿大原油
可观测数组,但它将被排序。这样,任何时候任何新数据添加到
加拿大原油
中,都会自动显示并排序