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

我正在调用表单的页面加载上的Web API控制器并获取数据,这是从我的JS文件中获取的,并且数据按预期正确获取。

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

$scope.employeeForm.EmpDetails具有正确的详细信息。

我需要在我的剃刀视图引擎中显示数据,这是我遇到问题的地方,我是这种开发的新手。

ViewBag,强类型模型在这里不起作用,因为我从Web API控制器返回数据,而我的不是强类型的剃刀视图。

EmpDetails有像 EmpID, EmpFirstName, EmpLastName, EmpLocationj 这样的信息


手掌心
浏览 154回答 2
2回答

慕码人8056858

亲爱的有两种方式如果您必须使用 Razor,则应在 mvc 控制器中使用 API,从 api 获取数据并将其在模型中返回到 Razor 视图,然后您将有强类型模型在 Razor 视图中使用如果你没有被束缚,那么它非常简单,如果你在javascript代码中获取数据。只需使用它来使用JavaScript代码填充您的视图即可。如果您使用的是 angular 1.x,那么下面是一个 angularjs 1.x 表单示例<!DOCTYPE html><html><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script><body><div ng-app="myApp" ng-controller="formCtrl">&nbsp; <form novalidate>&nbsp; &nbsp; First Name:<br>&nbsp; &nbsp; <input type="text" ng-model="user.firstName"><br>&nbsp; &nbsp; Last Name:<br>&nbsp; &nbsp; <input type="text" ng-model="user.lastName">&nbsp; &nbsp; <br><br>&nbsp; &nbsp; <button ng-click="reset()">RESET</button>&nbsp; </form>&nbsp; <p>form = {{user}}</p>&nbsp; <p>master = {{master}}</p></div><script>var app = angular.module('myApp', []);app.controller('formCtrl', function($scope) {&nbsp; &nbsp; $scope.master = {firstName:"John", lastName:"Doe"};&nbsp; &nbsp; $scope.reset = function() {&nbsp; &nbsp; &nbsp; &nbsp; $scope.user = angular.copy($scope.master);&nbsp; &nbsp; };&nbsp; &nbsp; $scope.reset();});</script></body></html>

梵蒂冈之花

开发人员按照您在评论中告诉,要通过html绑定数据,您可以尝试使用此解决方案。首先在 .cshtml 的标头部分中初始化 .cshtml 中的模型,然后使用&nbsp;@model&nbsp;并通过添加 来提供其字段名称。(点)对数据进行签名并将其绑定到 html 控件
打开App,查看更多内容
随时随地看视频慕课网APP