Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Getting StartedGetting Started'Settings' is not declared. It may be inaccessible due to its protection level.'Settings' is not declared. It may be inaccessible due to its protection level.
Previous
 
Next
New Post
9/21/2012 11:22 PM
 

Hi folks!

I'm trying to figure out how to get module settings in a Class in App_Code folder. I've placed Utility.vb into the App_Code folder for the purpose of sharing functions to other user controls within the module (you might notice it from the code).

Following is the code snippet, the way I do it in the user control code-behind that is placed into DesktopModules in usual circumstances:

Public Shared Function ImageManagement(.......) as string
    Dim ImageCompressionQuality As Long
    If String.IsNullOrEmpty(CType(Settings("ImageCompressionQuality"), String)) Then
        ImageCompressionQuality = -1
    Else
        If Not Long.TryParse(CType(Settings("ImageCompressionQuality"), String), ImageCompressionQuality) Then
            ImageCompressionQuality = -1  ' Default
        End If
    End If
    ...
    ...
    ...
End Function

VS throws an error: Settings' is not declared. It may be inaccessible due to its protection level.

Any ideas?

 
New Post
9/23/2012 3:31 AM
 

EDIT:

OK, seems like I forgot to Inherit from PortalModuleBase. After adding Inherits PortalModuleBase I get the following error with regards to the Settings:

BC30369: Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.

So what would the correct code look like?

 
New Post
9/23/2012 8:57 AM
Accepted Answer 

Fine! I solved the issue myself, the correct code would look like:

Public Shared Function ImageManagement(ByVal modContext As ModuleInstanceContext,.......) as string
     Dim ImageCompressionQuality As Long
     If String.IsNullOrEmpty(CType(modContext.Settings("ImageCompressionQuality"), String)) Then
         ImageCompressionQuality = -1
     Else
         If Not Long.TryParse(CType(modContext.Settings("ImageCompressionQuality"), String), ImageCompressionQuality) Then
             ImageCompressionQuality = -1 ' Default
         End If
     End If
     ...
     ...
     ...
End Function

Note, I added modContext value passed to the function. Still I would like to hear some words from experts wether it is a good solution or not...?

 
Previous
 
Next
HomeHomeDevelopment and...Development and...Getting StartedGetting Started'Settings' is not declared. It may be inaccessible due to its protection level.'Settings' is not declared. It may be inaccessible due to its protection level.


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out