【问题标题】:AngularJS Umbraco Save Node IssueAngularJS Umbraco 保存节点问题
【发布时间】:2015-03-09 23:53:35
【问题描述】:

我有一个简单的问题。我创建了一个自定义下拉 HTML 控件,它可以从数据库中动态获取“节点”。我将其转换为 Umbraco (v7) 数据类型,可在管理部分用作 Umbraco 属性。

不幸的是,当用户选择其中一项并保存时,它没有正确存储此信息。我确定这是因为当 Umbraco 尝试保存到数据库时,它的 NodeId 为空。在我们保存数据之前,我需要填充它。不幸的是,我还没有找到任何简单的方法来做到这一点。

谁能指出我正确的方向?在我将模型推送到 CS 控制器(应该更新 SQL DB)之前填充 NodeId 应该可以工作......或者是否可以制作一个推送两个参数并让 C# 处理的 angularJS?

有人有什么想法吗?

这是 HTML 编辑器:

    <select ng-controller="Dmns.DDLAllNodesController" data-ng-model="selectedOption">
        <option ng-repeat="gNode in galaxyNodes.data" value="{{gNode}}">
            {{gNode.KioskNodeId}} -- {{gNode.MachineName}} 
        </option>
    </select>

这里是 AngularJS,我想在提交到 C# 之前将 Umbraco 的节点 ID 添加到模型中

     $scope.$on("formSubmitting", function () {
            $scope.selectedOption({
                Id: $routeParams.Id // This does not update properly
            });
            $scope.$apply();
            getAllNodesResource.save($scope.selectedOption); // Sends old data
        });

这是我要返回的模型,以防有帮助:

[Serializable]
    [DataContract]
    public class KioskNode
    {
        [DataMember]
        public int Id { get; set; }

        [DataMember]
        public int NodeId { get; set; }

        [DataMember]
        public int KioskNodeId { get; set; }

        [DataMember]
        public string MachineName { get; set; }
    }

【问题讨论】:

    标签: javascript c# angularjs angularjs-scope umbraco7


    【解决方案1】:

    所以我找到了它没有正确填充的原因。我没有从 JSON 反序列化对象,这意味着我无法获取子属性。

    这解决了我的问题:

    var deJson = angular.fromJson(node);
    
            return $http.post("/umbraco/backoffice/api/DDLNodes/PostSave", {
    
                Id: 0,
    
                NodeId: id,
    
                KioskNodeId: deJson.KioskNodeId,
    
                MachineName: deJson.MachineName
    
            });
    

    这让我可以将需要的变量(更新)传递回 Backoffice 以将其保存到数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多