我有一个隐藏的输入字段,其中包含发送我的mvc控制器所需的值。
$http({ method: 'GET', url: '/User/GetProjectsList' })
.success(function (data, status, headers, config) {
$scope.workflow = [];
$scope.Projects = data;
})
.error(function (data, status, headers, config) {
alert('error');
});
隐藏的字段是:
<input type="hidden" ng-model='ProjectId' value="{{ProjectsObj.IDWorkflow}}"></input>
如何将值发送到我的控制器,如何在控制器中获取?这是我在MVC控制器上的方法。
[HttpPost]
public JsonResult GetProjectsList()
{
return Json();
}
答案 0 :(得分:1)
您是否尝试过使用查询字符串?
'use strict';
var fs = require('fs');
fs.mkdirSync(process.env.npm_package_version + '/helloworld');
答案 1 :(得分:1)
我希望这能帮到你;)
app.controller("myCtrl", function($scope) {
$scope.formDetails = {};
$scope.sendToApi = function(){
var model = {
id: $scope.formDetails.id //this is my hidden input
name: $scope.formDetails.name,
}
//and then send your model to API
}
})
答案 2 :(得分:1)
@Html.HiddenFor(m => m.ProjectId)
您可以将隐藏值从视图传递给控制器通过使用类似上述语法的模型值。
答案 3 :(得分:0)
在提交表单时,AngularJS似乎没有考虑隐藏的输入,请查看issue for more details。但是你可以通过两种方式获得价值:
删除ng-model,因为没有隐藏类型的sens,如上所述并添加id:
<input id="project_id" type="hidden" value="{{ProjectsObj.IDWorkflow}}"/>
在Javascript方面,你只需:
var project_id = document.getElementById('45').value;
由于Angular会忽略hidden
元素,因此您可以将其替换为type=text
和display:none
:
<input type="text" name="project_id" ng-model="projectID" style="display: none;"/>
并且您的javascript端使用双向数据绑定,您可以访问您的ng-model变量:
var project_id = $scope.projectID;