我是Umbraco的新手。我对Surface Controller的文档有疑问,请参阅此链接https://docs.umbraco.com/umbraco-cms/reference/routing/surface-controllers/
这些语句(以黄色突出显示)是什么意思?x1c 0d1x
下面是我的示例代码
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Logging;
using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Web;
using Umbraco.Cms.Infrastructure.Persistence;
using Umbraco.Cms.Web.Common.Attributes;
using Umbraco.Cms.Web.Common.Controllers;
using Umbraco.Cms.Web.Website.Controllers;
using UmbracoTest.Infrastructure;
using UmbracoTest.Model;
namespace UmbracoTest.Controllers
{
public class SectionOptionsController : SurfaceController
{
public SectionOptionsController(IUmbracoContextAccessor umbracoContextAccessor,
IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches
appCaches, IProfilingLogger profilingLogger, IPublishedUrlProvider
publishedUrlProvider) : base(umbracoContextAccessor, databaseFactory, services,
appCaches, profilingLogger, publishedUrlProvider)
{
}
[HttpPost]
public async Task<IEnumerable<DummyModel>> GetAllDataFromDBAsync()
{
//returns list of data
}
}
}
当我试图在Postman中触发它时,它返回404。我希望返回一个列表。这是我在Postman中使用的URL,https://localhost:44327/Umbraco/surface/SectionOptions/GetAllDataFromDBAsync。
此外,我可以要求一个高层次的建议,如何实现以下方案。
场景:
- UI中有一个按钮,我打算让它动态化。这个按钮将在不同的内容页面中使用。-如果点击这个,它将显示一个包含数据库数据的表。-这个动态按钮将接受一个id/flagging,它决定了什么样的数据集将在UI中显示。-对于id/flagging,我计划这将由内容编辑器填充。取决于每个内容页面中所需的设置数据。
先谢谢你。
1条答案
按热度按时间gdx19jrr1#
SurfaceControllers是用来处理Html表单帖子的。如果你想检索数据,你应该使用UmbracoApiControllers。这些将路由到
~/Umbraco/Api/[YourControllerName]
API控制器是我猜你想与你的场景。如果你显示这个表与javascript。如果你是在一个页面上呈现表服务器端,考虑使用RenderControllers