skip to Main Content

in a cs file I have a IF function like this>

If (myValue == 'AA' || myValue == 'BB' || myValue == 'CC')
{
DoThis()
}

But now and then I have to add some more conditions: myValue == ‘DD’ and so on.

Is not possible insert the new values (and All values)
in the web.config
and read from there instead of modify the code?

For example, in my web.config file I can have something like this:

<appSettings>
     <add key="AA" value="AA"/>
     <add key="BB" value="BB"/>
     <add key="CC" value="CC"/>
     <add key="DD" value="DD"/>
</appSettings> 

and in the code I should have something like:

IF mySearchString is present in the list from web.config, THEN call DoThis() method

Thank you in advance.

Luis

2

Answers


  1. First create a key in web.config with comma separated value as below.

    <appSettings>
         <add key="Categories" value="AA,BB,CC,DD"/>
    </appSettings>
    

    Then access the variable and split it.

    var categories = System.Configuration.ConfigurationManager.AppSettings["Categories"].Split(',');
            
    if(categories.Contains(myValue)){
        DoThis()
    }
    
    Login or Signup to reply.
  2. try this

    var appSets = 
    ConfigurationManager.GetSection("appSettings") as NameValueCollection;
       
      if (appSets["AA"]=="AA" || appSets["BB"]=="BB") do something
        
    

    or you can iterate using Linq or foreach

        foreach (var item in appSets.Keys)
        {
          var key = item.ToString();
          var value = appSets[key];
        }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search