私はモデルを以下のようにレンダリングするために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()関数を追加しようとしましたが、エラーも返されました。
おかげ
Iは、別のHTML入力から値を割り当てることによって、これを解決しました。
$scope.formData.formno = $('#FormNo').val();
、最終的にカミソリビューから
@Html.HiddenFor(u => u.FormNo, new { @ng_model = "formData.formno",@[email protected] })
を使用して、それを解決しました。
変数のスコープの値を更新していない;'あなたのコントローラでは、もちろんそれは空になります。 – Claies
また、angleは入力上の 'value'から' ng-model'の値を設定しません。サーバー側から値を設定する必要がある場合は、値をグローバル変数(推奨されません)として設定するか、 'ng-init'を使用する必要があります。 http://stackoverflow.com/a/13771205/2495283 – Claies
を参照してください。@Claiesええ私は、それがなくても、それでも私に価値を与えてくれなかったので、私のテストでその行のコードを配置しました。 – cafekun