bus*_*ina 3 routes razor asp.net-core-mvc asp.net-core razor-pages
我正在寻找类似的东西
app.UseEndpoints(endpoints =>
{
endpoints.MapDynamicControllerRoute<MyTransformer>($"{store}/{controller}/{action}");
});
Run Code Online (Sandbox Code Playgroud)
但对于剃刀页面路线。我仔细研究了 AddRazorPagesOptions Conventions,但似乎没有什么突出的。检查了 Github 和谷歌。那里也没有找到太多东西。
bus*_*ina 11
回答我自己的问题。看起来有一个 MapDynamicPageRoute 可以与 Razor Pages 一起使用。您只需使用“页面”键而不是“控制器”和“操作”即可。
public class MyTransformer : DynamicRouteValueTransformer
{
public MyTransformer()
{
}
public override async ValueTask<RouteValueDictionary> TransformAsync(HttpContext
httpContext, RouteValueDictionary values)
{
return await Task.Run(() =>
{
var rng = new Random();
if (rng.NextDouble() < 0.5)
{
values["page"] = "/MyRazorPageA";
}
else
{
values["page"] = "/MyRazorPageB";
}
return values;
});
}
}
Run Code Online (Sandbox Code Playgroud)
您还必须使用 MapDynamicPageRoute 注册变压器端点,例如
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapDynamicPageRoute<MyTransformer>("rando/{path?}");
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2884 次 |
最近记录: |