Я использую бритву MVC для рендеринга модели ниже.ng-model возвращает пустое значение, даже если вход html имеет значение
@Html.HiddenFor(u => u.FormNo, new { @ng_model = "formData.formno" })
Когда исходный код просматривается, вход html имеет значение.
<input id="FormNum" name="FormNum" ng-model="formData.formno" type="text" value="154S00017">
, но угловой возвращает это как пустое значение в контроллере.
var url;
var controller = 'Inbox';
var action = 'Get_RCTS_FormHistory';
var RCTS = angular.module('RCTS', []);
RCTS.controller('historyController', function ($scope, $http) {
$scope.formData = {};
$scope.formData.formno = '';
url = "/" + controller + "/" + action + "?FormNo=" + $scope.formData.formno;
alert(url)
$http.get(url).success(function (data) {
$scope.logs = data;
});
});
И после отладки в Visual studio.
Я довольно новыми для угловых и это действительно раздражает меня. Я попытался добавить туда функцию document.ready(), но она также вернула ошибку.
Благодаря
Я решил, присвоив значение из другого входа HTML.
$scope.formData.formno = $('#FormNo').val();
и в конечном счете решить его с помощью
@Html.HiddenFor(u => u.FormNo, new { @ng_model = "formData.formno",@[email protected] })
из поля зрения бритвы.
вы определенно есть '$ scope.formData.formno =«»; 'в вашем контроллере, конечно, это будет пустым. – Claies
также, угловой не устанавливает значения для 'ng-model' из' value' на входе; если вы действительно должны установить значение со стороны сервера, вам нужно либо установить значение как глобальную переменную (не рекомендуется), либо использовать 'ng-init'. см. http://stackoverflow.com/a/13771205/2495283 – Claies
@Claies Да, я разместил эту строку кода там с моим тестированием, потому что даже без нее он все равно не дал мне значения. – cafekun