Ich benutze asp.net MVC 5 und mache ein Kontrollkästchen mit Html.CheckBoxFor.Wie aktualisiert man Html.CheckBox für AngularJS ng-Modell?
<div class="col-md-6">
@Html.CheckBoxFor(m => m.active, new {
@class = "form-control populate", @id = 'EditActive',
@ng_model = "editFormData.active"
})
</div>
Als ich AngularJS editFormData nach einem Ajax-Aufruf gesetzt, der Wert korrekt ist, wenn ich es auf den Bildschirm ausgegeben als {{editFormData}} aber das Kontrollkästchen nicht als nicht zeigt überprüft wird.
datatableApp.controller('EditFormController', ['$scope', '$http', function($scope, $http) {
$scope.getEditStreet = function(streetID) {
$http.post('@Url.Action(Model.GetFormControllerFunctionName, Model.GetFormControllerName)', "{ @Model.JavascriptEditPropertyName : " + streetID + "}").then(function(response) {
alert("success");
$scope.editFormData = response.data.ResultObject;
},
function(response) {
alert("fail" + response.statusText);
});
};
}]);
Die resultobject enthält einen aktiven Bereich, die korrekt als wahr oder falsch ist, zeigt nach oben.
Wie kann ich die Rasierer Version des Kontrollkästchens überprüfen?
Wie setzen Sie '$ scope.editFormData' Wert? Wollen Sie 'active: true' nach dem AJAX-Callback setzen (besser sowohl' editFormData' als auch AJAX Callback-Code)? –
@TetsuyaYamamoto Ich habe die Frage mit dem angularjs aktualisiert. Innerhalb des Ergebnisobjekts befindet sich eine Eigenschaft namens active. – SolidSnake4444
Wie 'response.data.ResultObject' aussieht (ich denke, es gibt JSON-Objekt nach POST zurück)? Probieren Sie die Serialisierung der Ergebnisdaten aus, um den 'aktiven' Eigenschaftswert in' ng-Modell' aufzudecken: '$ scope.editFormData = @ Html.Raw (JsonConvert.SerializeObject (response.data.ResultObject));' oder 'JSON.stringify', wenn eckig Controller wird in einer separaten JS-Datei platziert. –