Completed
Last Updated: 28 Jul 2025 10:07 by ADMIN
Release 2025 Q3 (Aug)
Created by: Alistair
Comments: 0
Category: Wizard
Type: Feature Request
3

Currently, the Content function for Steps in a Wizard only accepts a string value (see API here). 
This means that in order to add a partial view (bound to the current model and its properties), the most straightforward way I could find was to put the partial view (and any wrappers) in its own file and add an extension method "ToHtmlString()". For example:

@model MyModel

@(Html.Kendo().Wizard().Steps(step => {

step.Add().Content(Html.Partial("~/Path/To/View/Wrapper.cshtml", Model).ToHtmlString());

})

using Microsoft.AspNetCore.Html;
using System.IO;

public static class HtmlContentExtensions
{
    public static string ToHtmlString(this IHtmlContent htmlContent)
    {
        if (htmlContent is HtmlString htmlString)
        {
            return htmlString.Value;
        }

        using StringWriter writer = new();
        htmlContent.WriteTo(writer, System.Text.Encodings.Web.HtmlEncoder.Default);
        return writer.ToString();
    }
}
This is not ideal, as it requires the usage of Html.Partial (which displays a warning in the latest versions of .NET 8). It is also awkward as it sometimes means that new view files need to be created for the explicit purpose of being a "wrapper" even though they do not contain much content. And lastly, it also requires an extension method, so it's not immediately easy for other Telerik users to use.

In the Telerik TabStrip, a better approach is possible, as the Content for Items can take in a function which accepts Razor syntax (see API here). For instance:

@model MyModel @(Html.Kendo().TabStrip().Items(tabstrip => { tabstrip.Add()

.Content(@<div id="@Model.TabContainer" class="myTabWrapperClass">

@await Html.PartialAsync("~/Path/To/View.cshtml", Model)

</div>); })

In this case, we can use Html.PartialAsync (avoiding .NET 8 warnings), we don't need an extension method, and it is easy to add any required "wrapping" such as a div with an ID, without needing a whole separate view.

If we had the option to use the same approach with Wizard Steps, that would be ideal!

Completed
Last Updated: 28 Nov 2022 12:04 by ADMIN
Release R1.2023-Increment.2(07.Dec.2022)

Currently, to set a field's label and text the Wizard's Label() and Title() options must be used:

items
	.Add()
	.Field(p => p.DropdownId)
	.Label(l => l.Text("Dropdown"))
	.Title("Dropdown")

It would be helpful if the Wizard can be configured to get these from the data annotation attributes in the model:

[Display(Name = "Dropdown")]
public int DropdownId{ get; set; }

Completed
Last Updated: 27 Oct 2020 16:43 by ADMIN
Release 2020.R3.SP.next

Bug report

Reproduction of the problem

  1. Adding a Wizard tag helper to a Grid's editor template throws an "Invalid or unexpected token" exception. No exception is thrown when using the Html helper.
<kendo-wizard name="wizard" on-done="onDone">
	<wizard-steps>
		<wizard-step title="Start">
			<wizard-step-buttons>
				<wizard-step-button name="next" text="Next"></wizard-step-button>
			</wizard-step-buttons>
			<wizard-step-content>
			</wizard-step-content>
		</wizard-step>
		<wizard-step title="User details">
			<wizard-step-buttons>
				<wizard-step-button name="previous" text="Previous"></wizard-step-button>
				<wizard-step-button name="done" text="Register"></wizard-step-button>
			</wizard-step-buttons>
			<wizard-step-content>
			</wizard-step-content>
		</wizard-step>
	</wizard-steps>
</kendo-wizard>
  1. For a sample project see Ticket ID: 1484465

Current behavior

js exception on using the Wizard tag helper in an editor template

Expected/desired behavior

no js exceptions on using the tag helper in an editor template

Environment

  • Kendo UI version: 2020.2.617
  • jQuery version: x.y
  • Browser: [all ]
Completed
Last Updated: 09 Sep 2022 08:24 by ADMIN
Release 2022.R3

Bug report

The Wizard's stepper does not allow manual navigation when the select() method is used on the last step.

Reproduction of the problem

  1. Run this dojo.
  2. Navigate to the last step of the Stepper.
  3. Click on the Done button.
  4. Try navigating to a given step by manually clicking on the Stepper.

Current behavior

The Wizard's stepper does not allow manual navigation when the .select() method is used on the last step and navigates back to the first index of the Stepper.

Expected/desired behavior

The Wizard's stepper should allow manual navigation when the .select() method is used on the last step and navigates back to the first index of the Stepper.

Environment

  • Kendo UI version: 2022.2.621
  • Browser: [all]