Sharp.RazorToString
1.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Sharp.RazorToString --version 1.0.1
NuGet\Install-Package Sharp.RazorToString -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sharp.RazorToString" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sharp.RazorToString --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sharp.RazorToString, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sharp.RazorToString as a Cake Addin #addin nuget:?package=Sharp.RazorToString&version=1.0.1 // Install Sharp.RazorToString as a Cake Tool #tool nuget:?package=Sharp.RazorToString&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
@ RazorToString
Render razor template to string.
Usage
// Make sure to use Razor pages or MVC in your project to add the engine.
services.AddControllersWithViews(); // Add MVC
services.AddRazorPages(); // Add Razor
// register the service 'RazorToStringRenderer' and configure
// views path.
services.AddRazorToString(config => config.ViewsPath = "/Emails");
- Create The model and template in the specified path.
- Model must be derived from
RazorViewModel
public class EmailTemplate : RazorViewModel
{
public string Content { get; set; }
public string Url { get; set; }
}
- Create template
@model Sample.RazorEmailTemplate.Emails.EmailTemplate
@{
Layout = "./_Layout.cshtml";
ViewBag.Title = "RazorToString";
}
@if (ViewBag.Message is {})
{
<div>
ViewBag.Content: @ViewBag.Message
</div>
}
<div>
@Model.Content
<a href="@Model.Url"></a>
</div>
- To use the template render it using
RazorToStringRenderer
service
private readonly RazorToStringRenderer _razor;
public HomeController(RazorToStringRenderer razor) => _razor = razor;
[HttpGet("/")]
public async Task<ActionResult> SendEmail()
{
var result = await _razor.RenderAsync(new EmailTemplate
{
Content = "Hi Shaheen, to confirm your email please use this link.",
Url = "https://github.com/xshaheen/RazorToString",
ViewData =
{
["Message"] = "This is message"
}
});
// just output the string
return Content($"The email is\n\n{result}");
}
-- see sample project for more details
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- Microsoft.AspNetCore.Mvc.Razor (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.