Angularjs 如何在'中绑定数据;价值';属性<;输入标签>;使用angular创建核心MVC模型
我一直在玩上传文件流的方法。原始代码如下: 但是,我尝试使用Angular获取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
的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"/>