【发布时间】:2020-11-03 10:07:54
【问题描述】:
我正在为多家商店开发一个网站。它们的地址如下:https://address/Store1/、https://address/Store2/ 等。
我想在后端根据 URL 参数(Store1、Store2)进行路由分离,以呈现不同的 React 组件或只是以某种方式将不同的数据返回到前端。
到目前为止我有:
Startup.cs
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "store",
pattern: "Store/{action=Index}",
defaults: new { controller = "Store" }
);
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action=Index}/{id?}"
);
});
StoreController.cs
public ActionResult Index() {
return Json("Please specify a store");
}
public ActionResult Store1() {
return View("Store1");
}
public ActionResult Store2() {
return View("Store2");
}
Store1 和 Store2 是 React 组件(Store1.tsx、Store2.tsx)。但在这种情况下,程序期望视图是一个.html/.cshtml 文件。
最后的问题是如何根据来自 ASP.NET Core 的路由在 React 中渲染不同的内容?
【问题讨论】:
-
您在寻找客户端路由吗?你可以使用各种兼容 React 的路由库来做到这一点。
-
您可以从页面输出 JavaScript 并通过它更改 React 应用程序的呈现。你可以用一个变量来初始化它,告诉它去哪里。取决于您是否使用路由或其他方式,它会如何完成。
-
@juunas,我想在 ASP.NET 中做路由
-
这是一个水疗中心,对吗@AN00?
-
@SamiKuhmonen 但是,如果事先不知道将调用哪个操作,您将如何从 StoreController 获取该变量?
标签: c# reactjs asp.net-core routes