Razor 如何在MVC中处理基于选择的加载数据?

Razor 如何在MVC中处理基于选择的加载数据?,razor,asp.net-core-mvc,asp.net-core-2.0,Razor,Asp.net Core Mvc,Asp.net Core 2.0,我一直使用Web API,所以我不知道如何在.NET核心MVC中处理这个非常基本的问题(我只在概念上熟悉MVC)。我的问题是: 我需要一个用户从前端的下拉列表中选择一个选项,然后根据该选项显示一些数据(在获取它之后) 如果我正在编写一个使用API的SPA,我只需调用后端获取数据,然后生成html在前端显示它 在MVC中如何处理这个问题?公约不是要返回全新的观点吗?这些事情是怎么处理的 我只需要一个概念上正确方向的指针——我可以理解代码 编辑:我是否应该假装它是一个SPA,尽管它是一个视图,并在提

我一直使用Web API,所以我不知道如何在.NET核心MVC中处理这个非常基本的问题(我只在概念上熟悉MVC)。我的问题是:

我需要一个用户从前端的下拉列表中选择一个选项,然后根据该选项显示一些数据(在获取它之后)

如果我正在编写一个使用API的SPA,我只需调用后端获取数据,然后生成html在前端显示它

在MVC中如何处理这个问题?公约不是要返回全新的观点吗?这些事情是怎么处理的

我只需要一个概念上正确方向的指针——我可以理解代码


编辑:我是否应该假装它是一个SPA,尽管它是一个视图,并在提供视图的同一个应用程序中创建一个API端点,然后从
cshtml
使用它?

它的工作方式完全相同。进行AJAX调用以获取一些数据。您可以直接返回数据,并利用JS呈现HTML,也可以直接返回HTML。无论哪种方式,都可以使用AJAX回调来替换页面上的适当内容

即使在较旧的ASP.NET MVC项目中,它也是这样工作的,尽管您基本上必须决定是使用MVC控制器还是使用Web Api控制器来完成这项工作。这两种方法都可行,但每种方法都有优点/缺点。MVC/WebAPI可以始终共存于同一个项目中


在ASP.NET核心中,区别纯粹是语义上的。现在真的没有MVC和WebAPI了——只有ASP.NETCore。控制器就是控制器就是控制器,所以只需添加一个端点就可以了。

谢谢。我知道这是一个基本问题,但我想确保我没有遗漏任何东西。