Here goes another set of libraries to help out: SandRock's toolkit. Separated into a few assemblies to avoid loading too much stuff in your app.
License: Apache License Version 2.0
release/2.0
current major release (WIP)
dev/v2.0.0
current development effortrelease/1.2
previous release (hotfixes only)release/1.1
old release (hotfixes only)Keep support for latest .NET Framework and MVC5, full support for AspNetCore.
WARNING: work is in progress
Assembly | FX | Nuget | Remark |
---|---|---|---|
SrkToolkit.Common | net46, netstandard2.0, net7.0 | nuget prerelease | |
SrkToolkit.Domain | net46, netstandard2.0, net7.0 | nuget prerelease | |
SrkToolkit.Web.AspMvcCore2 | netstandard2.0, net7.0 | nuget prerelease | |
SrkToolkit.Domain.AspMvcCore2 | netstandard2.0, net7.0, | nuget prerelease |
Keep support for many .NET Framework and MVC5, growing support for newer .NET.
Assembly | FX | Nuget | Remark |
---|---|---|---|
SrkToolkit.Common | net40, net45, netstandard2.0 | nuget | |
SrkToolkit.Domain | net40, net45, netstandard2.0 | nuget | |
SrkToolkit.Web (for ASP MVC 3) | net40 | nuget mvc4 | |
SrkToolkit.Web (for ASP MVC 4) | net45 | nuget mvc5 | |
SrkToolkit.Domain.AspMvc3 | net40, | nuget mvc4 | |
SrkToolkit.Domain.AspMvc4 | net45 | nuget mvc5 | |
SrkToolit.WebForms | net40 |
Support for many .NET Framework and MVC4/MVC5.
Assembly | FX | Nuget | Remark |
---|---|---|---|
SrkToolkit.Common | net40, net45 | nuget | |
SrkToolkit.Common.Unsafe | net40 | ||
SrkToolkit.Domain | net40, net45 | nuget | |
SrkToolkit.Web (for ASP MVC 3) | net40 | nuget mvc4 | |
SrkToolkit.Web (for ASP MVC 4) | net45 | nuget mvc5 | |
SrkToolkit.Domain.AspMvc3 | net40, | nuget mvc4 | |
SrkToolkit.Domain.AspMvc4 | net45 | nuget mvc5 | |
SrkToolit.WebForms | net40 | ||
SrkToolit.Xaml | net40, wp70, wp71, sl4 | ||
SrkToolkit.Mvvm | net40, wp70, wp71, sl4 | ||
SrkToolkit.Services | net40, wp70, wp71, sl4 |
AsNullIfEmpty()
, AddHtmlLineBreaks()
, TrimTextToWord()
, HtmlParagraphizify()
, RemoveDiacritics()
, MakeUrlFriendly()
) NameValueCollection.ToDictionary()
AddRange(IEnumerable<T>)
, RemoveAll(Func<T, bool>)
StringExtension.IsEmpty()
)And more...
SrkToolkit.Domain
contains a few classes to represent API or domain operations.
Use the rrr
code snippet to obtain a set of types for an operation.
AuthorizeAttribute
to return a "HTTP 403 Forbidden" instead of 401 auth page when already authenticatedDecimalModelBinder
with "friendly" decimal separator detection (useful for stupid cultures like French)BaseSessionService
class that allows auto-populating new and expired sessions in a lazy wayResultService
class that allows oupting error pages from actionsHtml.DescriptionFor()
to show the Description property from the [DisplayAttribute(Name = "", Description = "<desc here>")]
Html.Submit()
'cauz it's missingUrlHelper.SetQueryString(string url, params string[] keysAndValues)
to add/change query strings from a raw urlJsonNetResult
: ActionResult class that allows you to specify your favorite JSON serializerHttpRequest
: .IsXmlHttpRequest()
, .IsUrlLocalToHost(url)
, IsPost()
...And more...
All assemblies are signed. The real key is not in source control; I keep it to ensure my builds are only made by myself (yes, I know that is not 100% true).
The latest build can be found here: https://www.nuget.org/packages?q=Tags%3A%22srktoolkit%22
Want unsigned assemblies? Get the code, remove the option and build.