【问题标题】:How to use react with asp.net MVC to create a modular site/portal如何使用 react 与 asp.net MVC 创建模块化站点/门户
【发布时间】:2025-12-27 19:25:07
【问题描述】:

我阅读了所有关于reactwebpackreact router 和其他内容的信息 在他们所有的文档和所有菜单中,linksroutes 在 src 中定义,并在发布前由webpack 编译(捆绑和缩小)。

但我需要这样的机制:

  1. 根据可用模块和用户请求生成的链接和路由(例如,普通用户不得查看管理器的链接。react router 示例中的解决方案(隐藏管理器链接)非常基础,不适用于生产。

  2. 当用户请求资源时动态执行此操作

有没有办法在运行时将动态部分(例如路由配置)捆绑或添加到预编译的JavaScripts

我正在使用 asp.net 框架 MVC

【问题讨论】:

  • 我支持你,另外,我应该看看你的项目和你的实现,但也许我下面的回答对你有帮助。

标签: javascript asp.net-mvc reactjs webpack reactjs.net


【解决方案1】:

如果您想控制什么级别的用户可以看到什么,您需要执行以下操作:

if(Request.IsAuthenticated){
    if (isAdmin){
        @Html.ActionLink("Link for Managers", "Manager", "SomeFolder")
        }
        @Html.ActionLink("Home", "Index", "Somefolder2")
        @Html.ActionLink("About", "Index", "Somefolder3")
        @Html.ActionLink("Reports", "Index", "Somefolder4")

   }

这将允许所有用户看到“主页”、“关于”和“报告”链接,而只让管理员看到“经理链接”。这将在您的布局中使用剃刀语法,并且很容易为用户视图实现附加逻辑。我希望这有助于您走上正确的道路!

【讨论】:

  • 我想动态渲染 React Routes
【解决方案2】:

事实上,react 是为不同的架构而设计的,后端使REST API 和react 可以是不同的项目,甚至可以单独拥有Server Side Renderingreact 调用 API 来操作应用程序,所以,Backend 可以用任何语言编写。

另外,我对你的情况有一些经验,但有点不同,不幸的是,现在还没有,我不能展示我的情况。我们使用react 制作我们的页面,并使用webpack 对其进行捆绑,最后将JavaScriptCSS 捆绑文件放入页面中。

Razorcshtml 文件有点全局,所以react router 可以加载用户想要的页面,但实现不是很好。

前段时间我看到一个ReactJS.NET 网站声称reactasp.net 之间的集成非常可爱和干净。这对我来说太奇怪了。至于,它可以帮助你。

希望我的回答对你有所帮助。

【讨论】:

  • 你的意思是你在服务器上运行 webpack?每个请求?
  • @HomayounBehzadian,一点也不,运行webpack throw 每个请求不是正确的方法,我们只是使用webpack 开发并最终构建捆绑文件。然后将捆绑包放入cshtml 文件中,react router 决定显示每个页面并了解用户调用的路线。我再说一遍。那不是正确的反应应用程序。你应该阅读并表现得像ReactJS.NET
最近更新 更多