【发布时间】: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