Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何在'中绑定数据;价值';属性<;输入标签>;使用angular创建核心MVC模型_Angularjs_Asp.net Mvc - Fatal编程技术网

Angularjs 如何在'中绑定数据;价值';属性<;输入标签>;使用angular创建核心MVC模型

Angularjs 如何在'中绑定数据;价值';属性<;输入标签>;使用angular创建核心MVC模型,angularjs,asp.net-mvc,Angularjs,Asp.net Mvc,我一直在玩上传文件流的方法。原始代码如下: 但是,我尝试使用Angular获取的value属性中的数据,其思想是我可以将值发布到我的MVC模型中,而不是用户键入的任何内容(如原始代码)。所以,我对输入值属性做了这个更改 Streaming/Index.cshtml: <div ng-app="myApp"> <div ng-controller="myCtrl"> .. <input value="@Model.name” type="text" nam

我一直在玩上传文件流的方法。原始代码如下:

但是,我尝试使用Angular获取
的value属性中的数据,其思想是我可以
将值发布到我的MVC模型中,而不是用户键入的任何内容(如原始代码)。所以,我对输入值属性做了这个更改

Streaming/Index.cshtml:

<div ng-app="myApp">
    <div ng-controller="myCtrl">
..

<input value="@Model.name” type="text" name="Name" ng-model="name"/>   
..
<button ng-click="createUser()">Create User</button>
..
 </div>
</div>

@section scripts{
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
    <script src="~/js/app.js"></script>
}
myApp.controller('myCtrl',['$scope','userService',function($scope,userService){
$scope.createUser=函数(){
$scope.showUploadStatus=false;
$scope.showUploadeData=false;
var user=新用户($scope.name);
createUser(user).then(函数(响应){//success
如果(response.status==200){
$scope.uploadStatus=“用户创建成功。”;
$scope.uploadedData=response.data;
$scope.showUploadStatus=true;
$scope.showUploadeData=true;
$scope.errors=[];
}
},
功能(响应){//失败
$scope.uploadStatus=“用户创建失败,状态代码:”+response.status;
$scope.showUploadStatus=true;
$scope.showUploadeData=false;
$scope.errors=[];
$scope.errors=parseErrors(响应);
});
};
}]);
函数解析错误(响应){
var错误=[];
for(响应中的var键。数据){
对于(var i=0;i
解决方案必须很简单,但经过大量研究后,我无法找到如何修改它以使传递的value=''属性中的数据。这可能是一个愚蠢的问题,但对我来说却是一个头疼的问题,因为我是一个完全的新手。请发发慈悲,救命。 谢谢

使用指令初始化模型:

<input ng-init="name= @Model.name" type="text" name="Name" ng-model="name"/>  


一般来说,我会说将.NET部分排除在视图之外,只是为了让它在调试和保持后端与前端分离方面更简单(更容易编写新客户端或在适当情况下使用其他技术重写后端部分)
ng model
通常处理输入值的更新,如果您想从后端加载值,只需在控制器(或服务/工厂)中发出请求,从后端获取数据,并将其放入可从视图引用的对象/属性中。感谢您的响应。我同意,我应该使用控制器将此数据绑定到模型。然而,流媒体解决方案的性质要求我通过[DisableFormValueModelBinding]禁用控制器中的绑定,就像我最初发布的链接一样。你能告诉我你是否能想出一个更好的解决方案来绑定这个值吗?干杯
myApp.controller('myCtrl', ['$scope', 'userService', function ($scope, userService) {
  $scope.createUser = function () {
    $scope.showUploadStatus = false;
    $scope.showUploadedData = false;

      var user = new User($scope.name);

    userService.createUser(user).then(function (response) { // success
      if (response.status == 200) {
        $scope.uploadStatus = "User created sucessfully.";
        $scope.uploadedData = response.data;
        $scope.showUploadStatus = true;
        $scope.showUploadedData = true;
        $scope.errors = [];
      }
    },
    function (response) { // failure
      $scope.uploadStatus = "User creation failed with status code: " + response.status;
      $scope.showUploadStatus = true;
      $scope.showUploadedData = false;
      $scope.errors = [];
      $scope.errors = parseErrors(response);
    });
  };
}]);

function parseErrors(response) {
    var errors = [];
    for (var key in response.data) {
        for (var i = 0; i < response.data[key].length; i++) {
            errors.push(key + ': ' + response.data[key][i]);
        }
    }
    return errors;
}
<input ng-init="name= @Model.name" type="text" name="Name" ng-model="name"/>