我使用MVC剃刀渲染下面的模型。即使html輸入有值,ng-model也會返回一個空白值
@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 =「」;'在你的控制器,當然這將是空的。 – Claies
另外,angular並沒有在輸入上設置'ng'的值,如果您確實必須從服務器端設置值,則需要將該值設置爲全局變量(不推薦)或使用'ng-init'。請參閱http://stackoverflow.com/a/13771205/2495283 – Claies
@Claies是的,我把那行代碼放在那裏與我的測試,因爲即使沒有它,它仍然沒有給我價值。 – cafekun