Имам един бърз въпрос. Създадох персонализирана падаща HTML контрола, която динамично грабва „възли“ от база данни. Превърнах това в тип данни Umbraco (v7), който може да се използва като свойство на Umbraco в секцията за администриране.
За съжаление, когато потребителят избере един от елементите и го запази, той не съхранява правилно тази информация. Установих, че това е така, защото когато Umbraco се опитва да запази в DB, NodeId е празен. Трябва да попълня това, преди да запазим данните. За съжаление не намерих лесен начин да направя това.
Може ли някой да ме насочи в правилната посока? Попълването на NodeId, преди да насоча модела към CS Controller (който трябва да актуализира SQL DB) трябва да работи... или е възможно да се направи angularJS, който избутва ДВА параметъра и оставя C# да се справи с това?
Някой има ли идеи?
Ето 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, където бих искал да добавя идентификатора на възела на Umbraco към модела, преди да го изпратя към C#
$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; }
}