【问题标题】:How can I change MVC website UI at runtime?如何在运行时更改 MVC 网站 UI?
【发布时间】:2017-06-12 04:05:45
【问题描述】:

我想编写一些代码来在 ASP .NET MVC 中创建一个 CMS 应用程序,用户可以在其中动态创建/修改他们的网站。

我已经完成了大部分项目,并且在默认 UI 下运行良好。

我希望用户修改他们的网站 UI 或安装新主题,但我不知道该怎么做才能让用户安装自己的主题或更改默认视图。

【问题讨论】:

  • 根据用户偏好更改Layout Url是否足够,您要保存用户模板更改还是只更改css?

标签: asp.net-mvc model-view-controller content-management-system


【解决方案1】:

您可以通过编程将布局名称的用户模板首选项保存到数据库中,并在用户登录时从数据库中获取。

public ActionResult Index()
{
    ViewBag.UserLayout = GetUserLayout(); // brings user layout preferences
    Return View();
}

在你的索引视图之上

 @{
    Layout = ViewBag.UserLayout;
}

【讨论】:

  • 这种方法很好,我只想更改 HTML/CSS 。但我希望用户完全重写视图并将其上传到某个目录。然后我想以编程方式使用该目录进行视图渲染
  • 我猜您正在尝试为每个用户创建新布局。例如 10.000 个用户的 10.000 layout.cshtml?你确定要这样做吗,你可以将用户 css 更改保存到 db 并使用模型获取用户 css 首选项。
  • 它不是每个用户群设置,它关于管理员可以随时更改网站布局。我想创建一个 mvc 网站,我有一个控制面板,我可以在其中设置模板,然后网站可以在运行时选择主题文件夹以供查看
  • 因此您可以创建一个模型来保存用户布局模板首选项并将其添加到数据库中,以便您能够显示网站模板的最后状态
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 2013-07-24
  • 1970-01-01
相关资源
最近更新 更多