需要使用angularjs

时间:2015-12-14 05:45:52

标签: c# jquery angularjs model-view-controller

我有一个隐藏的输入字段,其中包含发送我的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();
}

4 个答案:

答案 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。但是你可以通过两种方式获得价值:

  1. 经典方式:
  2. 删除ng-model,因为没有隐藏类型的sens,如上所述并添加id:

    <input id="project_id" type="hidden" value="{{ProjectsObj.IDWorkflow}}"/>
    

    在Javascript方面,你只需:

    var project_id = document.getElementById('45').value;
    
    1. AngularJS方式
    2. 由于Angular会忽略hidden元素,因此您可以将其替换为type=textdisplay:none

      <input type="text" name="project_id" ng-model="projectID" style="display: none;"/>
      

      并且您的javascript端使用双向数据绑定,您可以访问您的ng-model变量:

      var project_id = $scope.projectID;