gpt4 book ai didi

c# - 限制 asp.net mvc 应用程序中的功能?

转载 作者:行者123 更新时间:2023-11-30 22:40:06 25 4
gpt4 key购买 nike

我想知道限制帐户功能的最佳方法是什么。

假设我有一个免费帐户和一个高级帐户。我如何限制只有高级帐户才能获得的功能?

现在我唯一能想到的就是 View 中有很多“if 语句”。

我需要限制的一些项目是。

  1. Jquery Ui 选项卡(高级帐户有一个额外的 jquery ui 选项卡 - 免费版有 4 个,高级版有 5 个)。

所以现在这意味着我需要 if 语句来隐藏无序列表和包含它的 div。如果我使用的是 ajax 选项卡,也许可以。

  1. 超链接。我有一些超链接加载了需要再次对免费用户隐藏的 jquery 对话框,我唯一能想到的就是 if 语句。

这些是我预计需要对免费帐户隐藏的东西。

我认为所有这些“if 语句”在 View 中看起来会很糟糕,但是我不想有多个 View (一个 View 用于免费帐户,一个 View 用于高级帐户),因为这意味着我可能不得不开始重复代码,(即使使用部分 View )变得更加困惑,因为现在我有更多的文件要查看,更多的操作结果要创建并确定使用哪个。

在一个网站上,我尝试了多种帐户和操作结果 View ,但效果并不理想。

那么最好的方法是什么?

最佳答案

首先,您需要将此逻辑添加到 Controller ,而不是 View 。您将向 View 发送一些数据,向它发出信号,表明它应该显示高级功能与标准功能。但是关于您处于高级状态还是标准状态的决定应该在 Controller 中做出。

因此您的 View 可能有 if 语句或某种逻辑来决定是否显示某些功能,但它们将基于您从 Controller 发送的“帐户级别”数据。

如果您要将“if”语句放入 View 中,或者在您的情况下放入很多语句,则您应该考虑编写一个 HTML 帮助器。这将大大清理您的代码。您无需编写多个 if,而是在 View 中使用类似 HtmlHelper.JQueryTabs() 的内容。在 JQueryTabs 方法中,您将拥有根据帐户级别输出适当的 HTML/Javascript 的所有逻辑。

这是关于 creating custom HTML helpers 的文章

关于c# - 限制 asp.net mvc 应用程序中的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com