ASP.NET MVC - 如何Razor视图显示数据从控制器的WebAPI返回

问题描述 投票:0回答:2

我调用我的形式和获取数据的页面加载一个Web API控制器,这是从我的JS文件和预期的数据能够正确读取。

  var empDetails = // code to invoke my api controller //
  empDetails.$promise.then(function (empInfo) {
      $scope.employeeForm.EmpDetails = empInfo.EmployeeDetails;
  }); 

$scope.employeeForm.EmpDetails有正确的细节。

我需要显示它在那里我有一个问题,在我的Razor视图引擎的数据,我是新来的这种发展。

ViewBag,强类型的模型并不在这里,因为我从Web API控制器返回数据的工作和我不是一个强类型的Razor视图。

EmpDetails有喜欢的EmpID,EmpFirstName,EmpLastName,EmpLocationj信息

c# angularjs asp.net-mvc asp.net-web-api
2个回答
1
投票

亲爱的有两种方法

  1. 如果你一定要使用剃须刀,那么你应该消耗MVC控制器的API,从您的API获取数据,并在模型返回到您的Razor视图,那么你将有强类型的模型在Razor视图使用
  2. 如果你不是那么势必在JavaScript代码它很简单,如果你得到的数据。只是用它使用JavaScript代码来填充你的看法。
  3. 如果您使用的角度1.x中,然后在这里是一个angularjs 1.x的形式,例如
<!DOCTYPE html>
<html lang="en">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="formCtrl">
  <form novalidate>
    First Name:<br>
    <input type="text" ng-model="user.firstName"><br>
    Last Name:<br>
    <input type="text" ng-model="user.lastName">
    <br><br>
    <button ng-click="reset()">RESET</button>
  </form>
  <p>form = {{user}}</p>
  <p>master = {{master}}</p>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
    $scope.master = {firstName:"John", lastName:"Doe"};
    $scope.reset = function() {
        $scope.user = angular.copy($scope.master);
    };
    $scope.reset();
});
</script>
</body>
</html>

0
投票

开发者按照你告诉在通过HTML绑定数据,此解决方案可以试试这个评论。

首先初始化模型.cshtml在.cshtml的头部件的在使用@model后,并通过添加给自己的字段名。(点)符号和数据绑定到你的HTML控件

© www.soinside.com 2019 - 2024. All rights reserved.