cI经历了有关区域路由的各种帖子,但我仍然无法解决我的问题.
我想以有两条路线的方式拆分我的应用程序.
/Areas/Panel /Areas/Website在每个区域内都有HomeController与行动相对应的适当方法.
每当用户登陆任何1级路线时,我都希望如此:
是针对 /Areas/Website/{controller}/{action}
或者替代
至 /Areas/Panel/{controller}/{action}
我目前的MVC路线是:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "area",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用,可能是因为我不完全理解如何告诉路由器将Website区域用作默认值.我在控制器本身之前尝试了各种指令,但它没有用.
我可以问你的意见吗?
先感谢您.
我正在使用以下虚拟组件进行一些测试,在执行时(在控制台中)我得到以下结果:
Rendering: 0
Triggered: 0
Rendering: 4
Triggered: 4
Rendering: 4
Run Code Online (Sandbox Code Playgroud)
我很难理解为什么。
第一个渲染:
index为0.undefined按原样运行 useEffect0index为4第二次渲染:
index是4第三次渲染:
我所期望的是:
Rendering: 0
Triggered: 0
Rendering: 4
Run Code Online (Sandbox Code Playgroud)
我是否跳过了一些非常明显的事情?您能帮我了解它的幕后工作原理吗?
Rendering: 0
Triggered: 0
Rendering: 4
Triggered: 4
Rendering: 4
Run Code Online (Sandbox Code Playgroud)
Rendering: 0
Triggered: 0
Rendering: 4
Run Code Online (Sandbox Code Playgroud)