我正在使用AngularJS,我正在尝试将Angular中的值传递给Controller。这就是我的AngularJS脚本文件的样子:
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
{
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
// add a zero in front of numbers<10
m = checkTime(m);
s = checkTime(s);
return (h + ":" + m + ":" + s);
t = setTimeout('startTime()', 500);
}
$scope.name = startTime();
}
});
</script>
因此我可以通过调用$ scope.name获得时间。但我想将该变量传递给控制器。我想这样做的方法是将它作为参数传递给Html.BeginForm,但这不起作用。这是我的BeginForm:
<div ng-app="myApp" ng-controller="myCtrl">
@using (Html.BeginForm("Bob", "Home", new { Time = ng-model="name" },
FormMethod.Post, null))
{
<p>Name:</p> <input style="color:black;" ng-model="name">
<h1 style="color:black;">You entered: {{name}}</h1>
<button type="submit" style="color:black;">Submit</button>
}
</div>
现在我有输入框,所以我可以确保它传递正确的值,它就是。但是在BeginForm中,它不允许Time等于从AngularJS传递的值。我怎样才能将该值传递给Controller?
答案 0 :(得分:0)
您可以将其作为隐藏字段传递:
@using (Html.BeginForm("Bob", "Home", FormMethod.Post))
{
<input name="time" type="hidden" ng-value="name" />
<button type="submit" style="color:black;">Submit</button>
}