Skip to content

MultiSelect TagHelper has incorrect "name" attribute when its "id" attribute is changed #7990

@kendo-bot

Description

@kendo-bot

Bug report

When using the @Html.EditorFor(m => m) configuration to initialize a MultiSelect TagHelper editor, and passing a specified value for its "id" attribute, the "name" attribute of the <select> element contains a prefix.

Reproduction of the problem

  1. Set the MultiSelect TagHelper as an editor editor of a specified Model property and set the "id" attribute using ViewData:
//Model
[UIHint("CustomMultiSelect")]
public IEnumerable<string> Names { get; set; }

//~.Views/Shared/EditorTemplates/CustomMultiSelect.cshtml
@model IEnumerable<string>
@{
    var id = ViewData["id"]?.ToString();
}
<kendo-multiselect for="@Model" placeholder="some custom behavior" bind-to='ViewData["Data"] as List<string>' id='@id'></kendo-multiselect>
  1. Define @Html.EditorFor(a=>a.Names, new{id="customId"}) in a form:
@model MyModel
<form id="myForm" data-method="POST"  asp-action="Save" asp-controller="Home"  class="k-form k-form-md">
    <div class="k-form-layout k-d-grid">
        <div class="k-form-field">
            @Html.EditorFor(a=>a.Names, new{id="customId"})
        </div>
    </div>
    ...
</form>
  1. When the MultiSelect is loaded, its "name" attribute is "Names.Names" rather than "Names":

image

When using the HtmlHelper version of the MultiSelect, the "name" attribute is correct:

//~.Views/Shared/EditorTemplates/CustomMultiSelect.cshtml
@model IEnumerable<string>
@{
    var id = ViewData["id"]?.ToString();
}
@(Html.Kendo().MultiSelectFor(m => m)
  .Placeholder("some custom behavior")
  .BindTo((List<string>)ViewData["Data"])
  .HtmlAttributes(new { id = @id })
)

Expected/desired behavior

When using the @Html.EditorFor(m => m) configuration, the "name" attribute of the MultiSelect TagHelper must match the Model property name when the "id" attribute is set to a custom value.

Environment

  • **Telerik UI for ASP.NET Core version: 2024.3.806
  • **Browser: [all]

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions