使用带有Razor语法的{{}

时间:2016-12-17 22:04:28

标签: razor asp.net-web-api asp.net-core-mvc

当我在互联网上探索使用asp.net核心构建REST API的文章和内容时,我发现剃须刀网页并不常用于前端。他们中的大多数都专注于Angular 1& amp; 2用于处理来自服务器的api数据(例如:$ http.get,$ http.post)。我只是想知道是否有任何文章介绍如何使用纯剃须刀网页作为处理web api的前端或有没有办法正确使用.net核心?

例如:

[Route("api/students")]  
public class StudentsController : Controller
{
    private IStudentRepository _repository;

    public StudentsController(IStudentRepository repository)
    {
        _repository = repository;
    }

    [HttpGet("")]
    public IActionResult Get() 
    {           
        var results = _repository.GetAllStudents();

        return Ok(Mapper.Map<IEnumerable<StudentViewModel>>(results));
    }

而不是使用角度的$ http服务在视图中呈现,

$http.get("/api/students")
    .then(function (response) {          
        ...
    }

是否有任何方法在剃刀视图中呈现api?

1 个答案:

答案 0 :(得分:2)

你可以使用razor来调用WebAPI,但它会毫无意义,因为你会错过现代Web开发的所有好处,例如你必须回发到服务器并重新加载整个页面而不是有一个ajax请求和只是加载页面的一部分。

基本上,您必须从MVC控制器或控制器内的某个外观类调用webapi,获取数据响应,然后使用剃刀在视图中输出。

我不打算为此发布代码,因为您最好使用Angular或一些JS框架,因为最终会得到更好的产品。