需要使用if条件检查字符串数组中的所有项目

时间:2016-01-28 04:59:12

标签: c# .net string

我有以下代码来检查登录用户是否可以访问菜单项

但如果第一项未通过 if 条件,它将重定向到错误页面,但是我需要使用if条件检查该字符串数组中的第二项,即使第一项未通过if条件...

请找到下面给出的测试代码..

{% block styles %}
    {{ super() }}
    <link rel="stylesheet" href="{{ url_for('static', filename='locally/placed.css') }}">
{% endblock %}

1 个答案:

答案 0 :(得分:2)

你可以通过计算循环中的条件并在确定后在循环外执行动作来使条件成为这样的。

bool access = false;
foreach (string menuPageId in strPageId)
{    
   if (objDALookup.IsPageVisible(PageType,Int32.Parse(menuPageId), role, AcctId) == true)
   {
        access = true; 
        break;
   }
}

if(!access)
{

    Session["ErrorInfo"] = "Access denied, please contact system administrator.";
           new Lib.Utils.Log().logInfo("FORCE_ACCESS", strUser + " tried to access PageId:" + PageId + " PageType:" + PageType);

     Response.Redirect(ConfigurationManager.AppSettings["ACCESS_DENIED_URL"], true);
}

OR

您可以使用linq

bool access = strPageId.Any(s=> objDALookup.IsPageVisible(PageType,Int32.Parse(menuPageId), role, AcctId) == true);

if(!access)
{

}