Serenity.Net.Core assembly

Serenity namespace

signature name description
enum AttributeOrigin Attribute source types for GetAttribute and GetAttributes
static class AuthorizationExtensions Provides helper extension methods for authorization, permission checks, and user retrieval.
static class CollectionExtensions Basic collection extensions.
class ConfigurationFeatureToggles Default implementation for IFeatureToggles that reads from configuration's FeatureToggles section. Unless the value is explicitly set to "false" for a feature, it is considered enabled.
static class CoreTexts
enum DateElementOrder Date element orders
static class DateHelper Static class with common date utilities and constants.
class DefaultSectionKeyAttribute Attribute to access the default section key for an option class.
static class DistributedCacheExtensions Contains extensions methods to work with IDistributedCache provider.
static class EnumMapper Contains Enum mapping and other helper functions.
static class ExceptionExtensions Exception data extensions.
static class FeatureTogglesExtensions Extensions for IFeatureToggles.
static class FileSystemExtensions Provides extension methods for IFileSystem that delegate to Path helpers, reducing direct dependency on System.IO in case these methods are later added to IFileSystem.
interface IFileSystem Base file system abstraction for accessing the physical disk, allowing file and directory operations to be mocked or replaced.
class InformationalException An exception that is created purely for informational purposes, e.g. for logging something to exception log
interface INotLoggedException An exception that should not be logged.
static class Invariants Invariant culture related constants and formats.
interface IServiceResolver<TService> A generic version of IServiceProvider which resolves a service on demand.
interface ITemporaryFileSystem A file system abstraction used by TemporaryFileHelper that additionally exposes temporary file information.
interface ITextLocalizer Text localizer for the current context language and pending approval state.
interface IUserDefinition Represents the core identity information for a user.
static class JSON Contains shortcuts to JSON serialization and deserialization methods, along with the default Serenity settings.
static class JsonSettings Contains the default Serenity JSON serialization settings for Newtonsoft.Json.
class LocalText Defines a localizable text resource. Contains a local text key and has implicit conversions to and from String.
static class MemoryCacheExtensions Contains extensions methods to work with IMemoryCache provider.
class NullTextLocalizer A text localizer that returns null for all keys.
static class PathHelper Contains Path related helper functions.
class PhysicalFileSystem An IFileSystem implementation that operates on the physical disk.
static class ReflectionExtensions Reflection extensions.
static class SpecialPermissionKeys Contains special permission key constants.
static class StringHelper This static class contains some helper functions that operate on String objects.
enum SummaryType Enumeration of aggregate function types for a column
class TemporaryFileInfo Represents basic information about a temporary file, as used by TemporaryFileHelper.
class TemporaryPhysicalFileSystem An ITemporaryFileSystem implementation that operates on the physical disk.
static class TextLocalizerExtensions Extensions for ITextLocalizer.
class Throttler Limits the rate of an operation, for example allowing only 10 login attempts per minute.
class TwoLevelCache A two level cache that combines an in-memory cache with a distributed cache, keeping them in sync with optional group-based cache invalidation.
static class TwoLevelCacheExtensions Contains extension functions to use local and distributed cache in sync with optional cache invalidation.
static class UriHelper Contains URI related helper functions.
struct ValueStopwatch A value stopwatch.

Serenity.Abstractions namespace

signature name description
abstract class BaseAssemblyTypeSource Base type source implementation that accepts a list of assemblies.
class DefaultTypeSource Default implementation for a type source that accepts an assembly list.
interface IFeatureToggles An interface to access feature toggle values.
interface IGetAllTexts Abstraction for a local text registry that can return all registered entries.
interface IGetAssemblies Abstraction for a type source that can return a list of assemblies.
interface IHasPassword Indicates whether a user account has a password set.
interface IHttpContextItemsAccessor Provides access to the per-request item dictionary, typically backed by HttpContext.Items for web requests.
interface IImpersonator Defines a service that supports temporary user impersonation.
interface ILanguageFallbacks Abstraction for a local text registry that can return language fallbacks.
interface ILocalTextInitializer Abstraction for a local text registry initializer, which initializes a local text registry with translations.
interface ILocalTextRegistry Abstraction for a local text registry which stores translations for local text keys.
interface IPasswordStrengthValidator Validates that a password meets the configured strength requirements.
interface IPermissionKeyLister Enumerates all permission keys registered in the application.
interface IPermissionService Checks whether the current user has a given permission.
interface IRemoveAll Abstraction for objects that support clearing all items, like a cache or local text registry.
interface IRemoveCachedUser Removes a cached user entry by identifier or username.
interface IRolePermissionService Checks whether a specific role has a given permission.
interface ISiteAbsoluteUrl Interface to access absolute base URL for current site, including the PathBase. Useful for reporting callbacks, or emails etc.
interface ITransientGrantor Defines a permission service that supports temporarily granting permissions.
interface ITwoLevelCache An abstraction for a combination of in memory and distributed cache.
interface ITypeSource Abstraction for a type source which is used as an extensibility point for Serenity applications.
interface IUserAccessor Provides access to the current authenticated user.
interface IUserClaimCreator Creates a ClaimsPrincipal for a given username.
interface IUserPasswordValidator Validates a username and password combination.
interface IUserProvider Combines user access, retrieval, claim creation, impersonation, and cache invalidation into a single abstraction.
interface IUserRetrieveService Retrieves user definitions by identifier or username.
static class TypeSourceExtensions Type source extension methods.

Serenity.ComponentModel namespace

signature name description
class AlignCenterAttribute Centers text horizontally (usually in a grid column).
abstract class AlignmentAttribute Controls horizontal alignment of text (usually in grid columns).
class AlignRightAttribute Right aligns text horizontally (usually in a grid column).
class AllowHideAttribute Controls the user's ability to hide a column, e.g. using the column picker.
class AnnotationTypeAttribute Declares that the type with this attribute is an annotation type for another type, e.g. it contains attributes for the other type and its properties. This is mainly used to separate dependencies between rows and UI related properties like editor types etc.
class AsyncLookupEditorAttribute Indicates that the target property should use a "Lookup" editor with "async" set to true.
class BasedOnRowAttribute An attribute that indicates this type is based on another row type. Used with form, columns etc. types to map their properties to the corresponding property in a row, so that they inherit attributes.
abstract class BaseUploadEditorAttribute Sets editor type as "ImageUpload", which only allows image files. Make sure you use this attribute in Row.cs, not Form.cs as the image upload behavior only works if it is in the row, otherwise your files will stay in the temporary directory.
class BooleanEditorAttribute Indicates that the target property should use a "Boolean" editor.
class BooleanFilteringAttribute Sets filtering type to "Boolean"
class BooleanFormatterAttribute Sets formatting type to "Boolean"
class CheckboxFormatterAttribute Sets formatting type to "Checkbox"
class CheckLookupEditorAttribute Indicates that the target property should use a "CheckLookup" editor.
class CollapsibleAttribute Used to specify a target is collapsible. Commonly used with form categories to make them collapsible.
class ColumnsScriptAttribute Indicates that this type should generate a columns script, which contains information about properties in this type and is an array of PropertyItem objects. Column scripts can be accessed from the client side using Serenity.getColumns("Key").
class CssClassAttribute Sets the CSS class for columns and form fields. In forms, the class is added to the container div with the .field class that contains both label and editor. For columns, it sets the cssClass property of SlickColumn, which adds this class to the slick cells for all rows. Slick column headers are not affected by this attribute, use HeaderCssClass for that.
abstract class CustomEditorAttribute Base attribute class that all other custom editor types derive from.
abstract class CustomFilteringAttribute Base class from which other custom filtering types derive.
abstract class CustomFormatterAttribute Base class for custom formatter type attributes
class DataScriptAttribute Indicates that this method / type should generate a remote data script. Data contained by remote data scripts can be accessed from the client side using the Serenity.getRemoteData("Key") function.
class DateEditorAttribute Indicates that the target property should use a "Date" editor.
class DateFilteringAttribute Sets filtering type as "Date"
class DateFormatterAttribute Sets formatting type to "Date"
class DateTimeEditorAttribute Indicates that the target property should use a "DateTime" editor.
class DateTimeFilteringAttribute Indicates that this field should have date/time type of filtering
class DateTimeFormatterAttribute Sets formatting type to "DateTime".
class DateYearEditorAttribute Indicates that the target property should use a "DateYear" editor.
class DecimalEditorAttribute Indicates that the target property should use a "Decimal" editor.
class DecimalFilteringAttribute Indicates that this field should have decimal type of filtering
class DefaultFilenameFormatSanitizer Default implementation for IFilenameFormatSanitizer.
class DisplayFormatAttribute Sets the display format for a column. This has no effect on editors! It is only for Display, "NOT Editing". For editing, you have to change UI culture.
class DistinctValuesEditorAttribute Indicates that the target property should use a "DistinctValues" editor and also defines an automatic lookup script for row fields.
abstract class DynamicScriptAttribute Base class for dynamic script attributes. Dynamic scripts contain dynamic data, but they are not parameterized.
class EditLinkAttribute Indicates that the property this attribute is placed on should have an edit link.
class EditorAddonAttribute Adds an editor addon to the target property.
class EditorAddonItem Editor addon item used within the PropertyItem class.
class EditorCssClassAttribute Sets the CSS class for the editor on forms only.
class EditorFilteringAttribute Indicates that the property should have a custom editor for filtering, which is usually determined by the form editor type of the property.
class EditorOptionAttribute Sets an editor option for the target property editor. Avoid using this where possible as option keys and values are not checked.
class EditorTypeAttribute Sets the editor type of the target property.
class EmailAddressEditorAttribute Indicates that the target property should use an "EmailAddress" editor.
class EnumEditorAttribute Indicates that the target property should use a "Enum" editor.
class EnumFilteringAttribute Indicates that the property should use enum type of filtering.
class EnumFormatterAttribute Sets formatting type to "Enum".
class EnumKeyAttribute Sets the enumeration key of an enum.
class FeatureKeySetAttribute Marks an enum as a set of feature toggles.
class FileDownloadFormatterAttribute Sets formatting type to "FileDownload".
class FileUploadEditorAttribute Sets editor type as "ImageUpload" (single), while allowing non-image files.
class FilteringIdFieldAttribute Specifies the ID field to filter on a field. For example, if this attribute is placed on the EmployeeName field, EmployeeId can be the filtering field, so that values are filtered on the ID rather than the text value.
class FilteringOptionAttribute Declares a new filtering option
class FilteringTypeAttribute Sets filtering type for the field
class FilterOnlyAttribute Indicates that this field should not be shown, and cannot be made visible in the column selection dialog, but is only used for advanced filtering.
class FixedWidthAttribute Sets a fixed column width that cannot be resized (min = max = width).
class FocusableAttribute Indicates if column cells can receive focus
class FormatterOptionAttribute Adds a formatter option
class FormatterTypeAttribute Sets formatter type.
class FormCssClassAttribute Sets the CSS class for the field on forms only.
class FormScriptAttribute Indicates that this type should generate a form script, which contains information about properties in this type and is an array of PropertyItem objects. Form scripts can be accessed from the client side using Serenity.getForm("Key").
class FormWidthAttribute Sets the CSS class for the field on forms only. Useful for Bootstrap grid, e.g. col-md-4 etc.
class FullWidthAttribute Sets the form field width class to null, e.g. full width.
class GenerateFieldsAttribute Marks a row class so that its fields should be generated by Serenity.Pro.Coder RowFieldsGenerator.
class GenerateInterfaceAttribute Marks a class so that its accompanying interface is generated by Serenity.Pro.Coder InterfaceSourceGenerator.
class GroupOrderAttribute Sets the order in which this property is grouped by default. This is only meaningful when a grid has grouping, and it sets the default grouped columns. The properties with this attribute are the default ones grouped by and their groupOrder determines in which order they are grouped.
class HalfWidthAttribute Marks the form field with the "col-sm-6" CSS class, which makes it allocate half of the form row on device widths >= 768px (e.g. iPad).
class HeaderCssClassAttribute Sets the CSS class for grid column headers. It sets the headerCssClass property of SlickColumn. This has no effect for forms.
class HiddenAttribute Sets a column as initially hidden.
class HideLabelAttribute Sets the label width to "0", e.g. hides the label.
class HideOnInsertAttribute Controls whether this field is visible in new record mode.
class HideOnUpdateAttribute Controls whether this field is visible in edit record mode.
class HintAttribute Sets a hint for a form field. The hint is shown when the field label is hovered. This has no effect on columns.
class HtmlContentEditorAttribute Indicates that the target property should use an "HtmlContent" editor. This is generally a CK editor that contains more functionality compared to other ones.
class HtmlNoteContentEditorAttribute Indicates that the target property should use an "HtmlNoteContent" editor. This is generally a CK editor with only basic functionality for notes enabled.
class HtmlReportContentEditorAttribute Indicates that the target property should use an "HtmlReportContent" editor. This is generally a CK editor with only functionality compatible with common reporting tools like SSRS, Telerik, DevExpress etc. enabled.
class IconClassAttribute Sets the icon class.
interface ICustomizePropertyItems Represents a customized column / form script.
interface IFilenameFormatSanitizer Abstraction for sanitizing values of replacement placeholders in a file name format string like |X|/|Y|. The sanitizer is called for each of the placeholders and for the result. Can be implemented by custom subclasses of upload editor attributes or registered in DI.
class IgnoreUIFieldAttribute Skips a property while generating a grid column, form field, or report form parameter list. Use this to ignore a property for UI, but still use it for other purposes like JSON serialization. This might be useful for example when a type is used as a Service Request and Form Declaration at the same time. Unlike TransformIgnoreAttribute, this will generate the property in request types, but skip it in UI generation.
class ImageUploadEditorAttribute Sets editor type as "ImageUpload", which only allows image files. Make sure you use this attribute in Row.cs, not Form.cs as the image upload behavior only works if it is in the row, otherwise your files will stay in the temporary directory.
class ImplicitPermissionAttribute Placed on permission keys to define implicitly assigned permissions when a user / role has the permission. Currently only implemented in the premium app.
class InsertableAttribute Controls if this field is editable in new record mode. When used with fields, turns on or off the insertable flag.
class IntegerEditorAttribute Indicates that the target property should use a "Integer" editor.
class IntegerFilteringAttribute Indicates that the property should use integer type of filtering.
interface IUploadEditor Runs the FileUploadBehavior or MultipleFileUploadBehavior behaviors. Make sure you use this attribute in Row.cs, not Form.cs as the image upload behavior only works if it is in the row, otherwise your files will stay in the temporary directory.
interface IUploadFileConstraints Constraints of the uploaded file size.
interface IUploadFileOptions Upload options related to the file name and encoding.
interface IUploadImageConstraints Constraints for the uploaded image.
interface IUploadImageOptions Options for the uploaded image and thumbnails.
interface IUploadOptions Marker interface for all upload options.
class JsonLocalTextAssetsAttribute Registers a folder with JSON local text files packed as static web assets for the assembly.
class LabelWidthAttribute Determines the label width of the target property, and optionally the properties following it until another of this attribute is used.
class LocalTextPrefixAttribute Sets local text prefix for the row.
class LookupEditorAttribute Indicates that the target property should use a "Lookup" editor.
abstract class LookupEditorBaseAttribute Base class for lookup based editor types.
class LookupFilteringAttribute Indicates that the property should use lookup editor type of filtering.
class LookupScriptAttribute Placed on rows or custom lookup classes to denote that they have a lookup script. When placed on a row class, lookup scripts only transfer ID and Name fields by default to the client side for security / performance reasons. Make sure you add the [LookupInclude] attribute to properties you'll need to access from script.
class MaskedEditorAttribute Indicates that the target property should use a "Masked" editor. Note that this requires https://www.npmjs.com/package/jquery.maskedinput, e.g. jquery.maskedinput.js which can be installed via libman or npm, and referenced in your scripts (via appsettings.bundles.json).
class MaxLengthAttribute Sets the maximum length of an editor attached to the target property.
class MediumHalfLargeQuarterWidthAttribute Marks the form field with the "col-md-6 col-lg-3" CSS class, which makes it allocate half of the form row on device widths >= 992px (some desktops), and a quarter on device widths >= 1200px.
class MediumHalfLargeThirdWidthAttribute Marks the form field with the "col-md-6 col-lg-4" CSS class, which makes it allocate half of the form row on device widths >= 992px (some desktops), and a third on device widths >= 1200px.
class MediumHalfWidthAttribute Marks the form field with the "col-md-6" CSS class, which makes it allocate half of the form row on device widths >= 992px (some desktops).
class MediumQuarterWidthAttribute Marks the form field with the "col-md-3" CSS class, which makes it allocate a quarter on device widths >= 992px (some desktops).
class MediumThirdLargeQuarterWidthAttribute Marks the form field with the "col-md-4 col-lg-3" CSS class, which makes it allocate a third of the form row on device widths >= 992px (some desktops), and a quarter on device widths >= 1200px.
class MinuteFormatterAttribute Sets formatting type to "Minute" which formats an integer value in HH:mm format.
class ModuleAttribute Sets the module name for the row. The module name is usually the folder name under the ~/Modules folder that the entity resides in.
class MultipleFileUploadEditorAttribute Sets editor type to "MultipleImageUpload" while allowing non-image files.
class MultipleImageUploadEditorAttribute Sets editor type to "MultipleImageUpload" which doesn't allow non-image file types by default.
class NestedLocalTextsAttribute Indicates that this class contains local texts with optional subclasses that also contain local texts with keys joined by "." between each class name. The topmost class has no local text prefix by default and its name doesn't take part in local text key generation.
class NestedPermissionKeysAttribute Indicates that this class contains permission keys with optional subclasses that also contain permission keys.
class NonInterfaceMemberAttribute Indicates that a property or method should not be included in the automatically generated interface when using GenerateInterfaceAttribute.
class NotFilterableAttribute Indicates that the field this attribute is placed on is not filterable.
class NumberFormatterAttribute Sets formatting type to "Number"
class OneThirdWidthAttribute Marks the form field with the "col-md-4" CSS class, which makes it allocate a third of the form row on device widths >= 992px (e.g. medium desktop).
class PasswordEditorAttribute Indicates that the target property should use a "Password" editor.
enum PasswordValidationResult Represents the result of a password validation attempt.
class PinColumnAttribute Pins column to the start (left for LTR, right for RTL) or end (right for LTR, left for RTL) side of the grid. Note that pinning a column requires FrozenLayout or EnhancedLayout. Only EnhancedLayout supports pinning to end side.
class PinToEndAttribute Pins column to the "end" (right for LTR, left for RTL) side of the grid. Note that pinning a column to end side requires EnhancedLayout.
class PinToStartAttribute Pins column to the "start" (left for LTR, right for RTL) side of the grid. Note that pinning a column requires FrozenLayout or EnhancedLayout.
class PlaceholderAttribute Sets a placeholder for a form field. Placeholder text is shown inside the editor when its value is empty. Only editors using basic inputs and the Select2 editor support this.
class PropertyItem Corresponds to a property item (e.g. a field in a property grid with a label and editor, or a column specification in a grid).
class PropertyItemsData The data format of a property items script (form or columns).
class QuarterWidthAttribute Marks the form field with the "col-lg-3 col-sm-6" CSS class, which makes it allocate half of the form row on device widths >= 768px (e.g. iPad), and a quarter on device widths >= 1200px (desktop).
class QuickFilterAttribute Indicates that this property should have a quick filter on the grid.
class QuickFilterOptionAttribute Adds an option to the quick filtering.
class RadioButtonEditorAttribute Indicates that the target property should use a "RadioButton" editor.
class RecaptchaAttribute Indicates that the target property should use a Google "Recaptcha" editor.
class RegisterPermissionKeyAttribute Registers a permission key.
class RegisterScopedAttribute Enables auto registering for the implementation type this attribute is placed on by using the AddScoped method.
abstract class RegisterServiceAttribute Enables auto registering for the implementation type this attribute is placed on.
class RegisterSingletonAttribute Enables auto registering for the implementation type this attribute is placed on by using the AddSingleton method.
class RegisterTransientAttribute Enables auto registering for the implementation type this attribute is placed on by using the AddTransient method.
class RequiredAttribute Determines if the field is required in a form.
class RequiredPermissionAttribute Specifies the required permission to access an object, e.g. a report.
class RequiresFeatureAttribute An attribute that can be placed on targets to toggle them at runtime based on features. Use FeatureBarrierAttribute for MVC controllers, controller actions, or Razor pages.
class ResetFormWidthAttribute Resets the form field width to null. It may be used to cancel the UntilNext flag of a prior width attribute.
class ResetLabelWidthAttribute Resets the form label width to null. It may be used to cancel a prior LabelWidth attribute with UntilNext = true.
class ResizableAttribute Determines the resizability of a target column.
class ScriptIncludeAttribute Enables script code generation for the type this attribute is placed on. By default, types which are used in an endpoint / row is automatically enabled for code generation. Use this only for non-referenced types.
class ServiceLookupEditorAttribute Indicates that the target property should use a "ServiceLookup" editor.
abstract class ServiceLookupEditorBaseAttribute Base class for service lookup based editor types.
class ShowSelectionAttribute Controls whether the CSS class for selected cells (default "selected") is applied to cells in this column when the containing row is selected. By default, the selected CSS class is applied to all columns in a selected row. Set this attribute to false to exclude specific columns from receiving the selected styling. This is useful for columns with custom formatters or styling that don't work well with the selected appearance.
class SkipNameCheckAttribute Skips validation of the property name against the row's field names when [BasedOnRow(CheckNames = true)] is used.
class SkipOnLoadAttribute Indicates that the target property should not get read from the source entity when a form or grid is loading. This means, the editor of the property saves the value to the entity on save, but it doesn't get read back from it when loading for the first time or refreshing. Useful for properties that should retain editor state without syncing to the entity on load.
class SkipOnSaveAttribute Indicates that the target property should not get written when a form or grid is saved. This means, the editor of the property reads the value from the entity, but it doesn't get written back to the entity being saved. Useful for read-only or computed properties that shouldn't update the entity.
class SortableAttribute Indicates if sorting is enabled for this property
class SortOrderAttribute Sets the column as sorted by default, and its index among sorted columns. Negative values mean descending sort. Applies only to columns.
class StringEditorAttribute Indicates that the target property should use a "String" editor.
class SummaryTypeAttribute Determines the type of aggregate function to use for a column.
class TabAttribute Sets a tab for a form field.
class TabbableAttribute Indicates if a column is tabbable when enableCellNavigation is true in a grid. By default, all columns are tabbable, but you can set this attribute to false to prevent it from being tabbable. Note that if a column has [Focusable(false)], it won't be tabbable even if it has [Tabbable(true)], because focusable is checked first. This attribute is useful when you want to have a column that can be focused when clicked or with arrow and home/end keys, but not when tabbing through cells. It is similar to having tabindex=-1 on an input.
class TextAreaEditorAttribute Indicates that the target property should use a "TextArea" editor.
class ThreeQuarterWidthAttribute Marks the form field with the "col-lg-9" CSS class, which makes it allocate three quarters on device widths >= 1200px.
class TimeEditorAttribute Indicates that the target property should use a "Time (HH:mm)" editor. The editor does not support editing seconds or milliseconds. It is a simple dropdown editor that allows selecting a time between StartHour and EndHour. Note that this editor type returns an integer value that is the number of minutes from midnight. Use it only with Integer-typed fields. You may use the multiplier option to store seconds (60) or milliseconds (60000). Use TimeSpanEditor for TimeSpan fields.
class TimeSpanEditorAttribute Indicates that the target property should use a "Time (HH:mm)" editor. The editor does not support editing seconds or milliseconds. It is a simple dropdown editor that allows selecting a time between StartHour and EndHour. Note that this editor type returns a string value that is in the format HH:mm. Use it only with TimeSpan-typed fields. Use TimeEditor for integer fields.
class TransformIgnoreAttribute Disables script code generation for the type / property this attribute is placed on. If placed on a form / column property it will also skip generating a corresponding column / form field for that property.
class TwoThirdWidthAttribute Marks the form field with the "col-md-8" CSS class, which makes it allocate two thirds of the form row on device widths >= 992px (e.g. medium desktop).
class TypeSourceAssemblyAttribute Marks an assembly as a source of types for ITypeSource.
class UnboundAttribute Marks the column / form field as unbound (non-data / UI-only). As it derives from SkipNameCheckAttribute, it skips checking the property name when the [BasedOnRow] attribute is used. When used on a column property, it will have no field name in the generated column, only a column ID. This is useful for columns that do not correspond to actual data fields, such as ones that host action buttons, status indicators etc. When used on a form field property, the form will not try to load or save any value for it, similar to how SkipOnSave / SkipOnLoad works. This can be considered a mixture of [SkipNameCheck] and [SkipOnLoad]/[SkipOnSave].
class UpdatableAttribute Controls if this field is editable in update record mode. When used with fields, turns on or off the updatable flag.
class UploadOptions Set of default upload options.
class URLEditorAttribute Indicates that the target property should use a "Url" editor.
class UrlFormatterAttribute Sets formatting type to "Url"
class VisibleAttribute Controls initial visibility of a column / form field.
class WidthAttribute Sets column width

Serenity.Data namespace

signature name description
class Base32 This class is based on the Base32 class from DC# 0.31. All credits to Jonathan Bindel.
static class BinarySerialization Contains helper functions for serialization and deserialization of data items (e.g. cached items).
class DeletePermissionAttribute Sets delete permission for the row.
class FieldInsertPermissionAttribute Sets the default insert permission for fields of a row that don't have an InsertPermission themselves.
class FieldModifyPermissionAttribute Sets the default modify permission for fields of a row that don't have a ModifyPermission themselves.
class FieldReadPermissionAttribute Sets the default read permission for fields of a row that don't have a ReadPermission themselves.
class FieldUpdatePermissionAttribute Sets the default update permission for fields of a row that don't have an UpdatePermission themselves.
class FileReadAccessAttribute Base attribute to specify file read access control on a property.
class FileReadPermissionAttribute A subclass of FileReadAccessAttribute that specifies a permission.
class InsertPermissionAttribute Sets insert permission for the row.
class JsonSafeInt64Converter Serializes and deserializes a row.
class ModifyPermissionAttribute Sets modify permission for the row. Modify permission is used for Insert/Update/Delete if they are not explicitly specified.
class NavigationPermissionAttribute Sets navigation permission for the row, which, if it exists, takes precedence over ReadPermissionAttribute to determine the permission for the row's page and navigation item.
abstract class PermissionAttributeBase An abstract base attribute that all permission-related attributes derive from.
class ReadPermissionAttribute Sets read permission for the row.
class ServiceLookupPermissionAttribute Sets a permission to read only lookup fields in a row via the List service. Lookup field means ID, Name, and [LookupInclude] properties in a row. You must use [AuthorizeList(typeof(XRow))] instead of ServiceAuthorize in the service endpoint.
class UpdatePermissionAttribute Sets update permission for the row.

Serenity.Extensions.DependencyInjection namespace

signature name description
static class CoreServiceCollectionExtensions Contains extensions to register core services.
class ServiceResolver<TService> A generic version of IServiceProvider which resolves a service on demand.

Serenity.IO namespace

signature name description
enum DeleteType Specifies how a file should be deleted.
class GlobFilter A fast glob implementation, compatible with the .gitignore patterns of GIT.
class TemporaryFileHelper Contains helper functions for temporary files and folders.

Serenity.JsonConverters namespace

signature name description
class EnumJsonConverter Serializes enum values as numbers while trying to handle string values when deserializing.
class HashSetStringJsonConverter Serializes and deserializes a HashSet of strings as a JSON array.
class NullableJsonConverter Tries to handle empty strings for nullable values, similar to how JSON.NET does.
class NullAsDefaultJsonConverter Ignores null values while deserializing. Should only be used on value types.
class ObjectJsonConverter Provides deserialization for the Object type, inferring the concrete type from the JSON value, similar to Newtonsoft. See https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/converters-how-to?pivots=dotnet-8-0#deserialize-inferred-types-to-object-properties
class SafeInt64JsonConverter Serializes and deserializes a Int64 value, converting it to a string when it is larger than the precision a double can safely handle.

Serenity.Localization namespace

signature name description
class DefaultTextLocalizer An ITextLocalizer implementation that resolves translations from an ILocalTextRegistry using the current UI culture.
static class EnumLocalTextRegistration Contains initialization methods for adding local text translations defined by DescriptionAttribute attributes in enumeration classes.
class FallbackLocalTextSource Adds key fallback behavior to any ILocalTextRegistry implementation.
interface ILocalText An interface implemented by the LocalText class to access the initial translation value. Some classes like NestedLocalTextRegistration use this type to avoid re-registering an already initialized local text object when their initialization method is called more than once.
static class JsonLocalTextRegistration Contains helper methods for registration of local texts in hierarchical or dictionary formatted JSON files.
struct LanguageIdKeyPair A pair of a language ID and a text key.
class LocalTextRegistry The default ILocalTextRegistry implementation.
static class NavigationLocalTextRegistration Contains initialization methods for adding navigation item attribute related local texts.
static class NestedLocalTextRegistration Contains helper methods for registration of local texts in nested static classes. Nested static classes contain LocalText objects with actual translations as keys. This class locates them (with NestedLocalTextsAttribute at the outermost class), determines keys by the path from the outermost to the nested class name, replaces the existing LocalText instance with an initialized instance containing this generated key and initial translation, and registers this translation in the ILocalTextRegistry provider.
static class NestedPermissionKeyRegistration Contains helper methods for registration of permission keys in nested static classes. These classes contain string constants containing permission keys. The display name for permission keys can be set by a DisplayNameAttribute. The display name for groups can be set by a DescriptionAttribute on the classes themselves. For the group display name to work, all constants in a class must start with the same group prefix.
static class PropertyItemsLocalTextRegistration Contains initialization methods for adding local text keys implicitly defined by DisplayNameAttribute, TabAttribute, PlaceholderAttribute, HintAttribute, etc. attributes used in Form definitions.

Serenity.Navigation namespace

signature name description
interface INavigationItemSource Navigation item source abstraction.
interface INavigationModel Navigation model abstraction.
interface INavigationModelFactory Factory abstraction for navigation models.
class NavigationGroupAttribute Defines a navigation group, which is usually the icons on the sidebar band.
class NavigationItem A node in a navigation tree model.
abstract class NavigationItemAttribute Navigation item attribute.
class NavigationMenuAttribute Navigation menu without a link.
class NavigationSectionAttribute Navigation section attribute.

Serenity.Plugins namespace

signature name description
class CssFile A CSS file dependency for plugins.
interface IBackgroundJobs Interface for plugins that have a list of background jobs.
interface IConfigureServices Interface for plugins that require configuring their own services or options.
interface ICssFiles CSS file dependencies for plugins.
interface INavigationItems Abstraction for plugins with navigation entries.
interface IPlugin Abstraction for plugins.
interface IScriptFiles Abstraction for plugins with script file dependencies.
class NavigationEntry A plugin navigation entry abstraction.
class PrecompiledViewsAttribute Indicates that this plugin assembly contains precompiled views (by RazorGenerator).
class ScriptFile A plugin script file registration.

Serenity.Reflection namespace

signature name description
static class AnnotationTypeExtensions Extension methods for annotation types.
class AnnotationTypeRegistry The default annotation type registry.
class AssemblySorter Sorts assemblies based on their dependencies.
class CodeWriter Used to write formatted code to a string builder.
interface IAnnotatedType Annotated type information.
interface IAnnotationTypeRegistry An interface to query the list of annotation types for a given type.
interface IIntrinsicPropertyAttributeProvider Marks a composite attribute that can provide additional intrinsic attributes for a target property. The intrinsic attributes should be declared on its PropertyAttributes property.
interface IPropertyInfo An interface to virtualize property attribute access.
class WrappedProperty A class that basically implements IPropertyInfo for PropertyInfo objects

Serenity.Services namespace

signature name description
enum ColumnSelection Column selection types for List services
class DefaultUserClaimCreator Default implementation of IUserClaimCreator that builds a ClaimsPrincipal from a user definition retrieved via IUserRetrieveService.
class DefaultUserProvider Default implementation of IUserProvider that delegates to an IUserAccessor, IUserClaimCreator, and IUserRetrieveService.
interface IIsSensitiveMessage An interface to determine if the message of an exception might contain sensitive information that should not be shown to the end user. Currently only ValidationError implements this and returns false by default unless set explicitly.
interface IRequestHandler Marker interface for standard and custom request handlers
class JsonStringHashSetConverter Serializes and deserializes a HashSet of strings as a JSON array.
static class PermissionExpressionParser Parses and evaluates logical permission expressions containing !, &, |, and parentheses.
class ValidationError Generic validation error mostly used by services.

Serenity.Web namespace

signature name description
class FileReadAccessSettings Settings for file read access control.
interface IDynamicScript Dynamic script abstraction
interface IGetScriptData Provides access to the data object of a dynamic script
enum ImageScaleMode Thumbnail scaling modes
class ImpersonatingUserAccessor Wraps an IUserAccessor and adds support for temporary user impersonation.
interface INamedDynamicScript A dynamic script with default registration name
interface IScriptContent Cached dynamic script content
interface IScriptName Provides access to the registration name for a dynamic script
class LocalTextPackages Corresponds to the LocalTextPackages section of the appsettings.json file.
class LogicOperatorPermissionService Decorates an IPermissionService to support logical operators (!, &, |, parentheses) in permission expressions.
class RecaptchaSettings Settings for Recaptcha integration. Get your keys from https://www.google.com/recaptcha/admin/ Generate keys for the V2, not V3.
class TransientGrantingPermissionService Decorates an IPermissionService to support temporarily granting permissions.