Я использую бритву MVC для рендеринга модели ниже.
@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] })
из вида Razor.
Вы не обновляете значение переменной области видимости
$scope.formData.formno = 'cakefun';
$scope.formData.formno = '';
в вашем контроллере, конечно, он будет пустым.ng-model
изvalue
на входе; если вам действительно нужно установить значение со стороны сервера, вам нужно либо установить значение как глобальную переменную (не рекомендуется), либо использоватьng-init
. см. stackoverflow.com/a/13771205/2495283