我在一个项目中创建了一个新的区域来分离关注点.然而,我刚刚遇到了一个奇怪的问题,taghelpers无法正常工作,甚至根本无法构建正确的URL.
最初的问题是这样的:
<a class="btn btn-secondary btn-block font-weight-bold text-light" role="button" asp-area="Retail" asp-controller="RateQuery" asp-action="RateQuery"
asp-route-partyid="@proOne.ProPartyId">
@postFou.FouName<br>
@postFou.FouAddr<br>
@postFou.FouTown
</a>
我试着做了一点测试:
<a href="/Retail/RateQuery/RateQuery?partyid=123">Test Link</a><br />
<a asp-controller="Main" asp-action="Index">Test Link to Home</a>
所以,"测试链接"起作用了,但"测试链接到主页"不起作用.
在我的项目的其余部分,常规区域,一切都很好.我确实在路由中登记了这一区域.我是不是应该为新区的Taghelper添加一些特定的东西?
该项目位于框架netcoreapp3.1上
编辑:
这也不起作用:
<a asp-area="Retail" asp-controller="Main" asp-action="Index">Test Link to Home2</a>
另外,我的Startup.cs:
app.UseEndpoints(endpoints =>
{
// Area route
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();