Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 根据条件显示/隐藏选项卡_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 根据条件显示/隐藏选项卡

Asp.net mvc 根据条件显示/隐藏选项卡,asp.net-mvc,Asp.net Mvc,我被困在下面的场景中 我有一份供应商名单(如INGO、Chexar、Western Union、TSys等),我的客户使用这些供应商提供各种服务,如汇款、账单支付等 现在的问题是,我正在为多个客户重复使用我的项目。假设CustomerA使用-西联,Tsys,那么客户B可能使用-VISA,INGO等等 在我的UI中,我有一个选项卡控件,我将提供者名称显示为选项卡的文本,但这取决于客户。因此,我添加了所有客户的所有提供者作为选项卡 所以这里的问题是,在我的行动方法中,我得到了供应商的名单,比如说IN

我被困在下面的场景中

我有一份供应商名单(如INGO、Chexar、Western Union、TSys等),我的客户使用这些供应商提供各种服务,如汇款、账单支付等

现在的问题是,我正在为多个客户重复使用我的项目。假设CustomerA使用-西联,Tsys,那么客户B可能使用-VISA,INGO等等

在我的UI中,我有一个选项卡控件,我将提供者名称显示为选项卡的文本,但这取决于客户。因此,我添加了所有客户的所有提供者作为选项卡

所以这里的问题是,在我的行动方法中,我得到了供应商的名单,比如说INGO,TSys for CustomerA。因为我的UI拥有所有的提供者,所以我只需要过滤和显示INGO和TSys选项卡

一种解决方案是使用类似-INGO Required的标志,如果为真,则添加INGO选项卡和TsysRequired。如果为真,则添加TSys选项卡,依此类推


但是我想要一个通用的解决方案,比如如果为客户添加了一个新的提供者,我就不应该对我的代码做太多的更改。

您必须以某种方式使用标志来指示选项卡的打开和关闭,但是不要使用boolen变量,而是使用字典对象,如

Dictionay<string,boolean> availableTags = new Dictionay<string,boolean>();
availableTags["INGO"] = true;
availableTags["TSys"] = false;
dictionayavailabletags=newdictionay();
availableTags[“INGO”]=真;
availableTags[“TSys”]=false;
然后,您可以在字典上循环以决定应显示哪个选项卡,而不显示哪个选项卡。若您有比字典更复杂的需求或场景,您可以使用列表进行决策和操作