Hello,
I am using a template within a template and I would like to use DropdownListFor. Although everything is rendered properly and the values are shown correctly, when I click on the right arrow it does not expand the list options.
Example:
@(Html.Kendo().DropdownListFor(m => m.IsPrincipal) .DataTextField("Text") .DataValueField("Value") .BindTo(new List<SelectListItem>() { new SelectListItem() { Text = "Yes", Value = "1" }, new SelectListItem() { Text = "No", Value = "0" }, new SelectListItem() { Text = "Test", Value = "2" } }) .HtmlAttributes(new { style = "width: 100%" }) )4 Answers, 1 is accepted
I think the problem is similar with these:
https://www.telerik.com/forums/dropdownlist-in-window-issue
https://www.telerik.com/forums/dropdownlist-and-modal-window
Do you know how to solve it for ASP.NET Core?
The DropdownListFor is in a modal within a modal.
The threads linked are from 2012 and the code has changed a lot since then. Thus, I doubt the same z-index issue to be reproduced now. Unless, you are using the a Knedo UI version from 2012.
Can you provide a simple, locally runnable solution so that I can take a look at the problem and examine what exactly is the problem so that I can probably suggest a fix?
Regards,
Ianko
Progress Telerik
Dear Ianko,
thank you for your post. I believe that there is a bug in the last version of Kendo UI for ASP.NET Core. Specifically, if you try to create a panelbar within a panelbar and then try to create a grid inside the 2nd panelbar with a "Edit Pop-up" template and finally to create a dropdown list inside this " Edit Pop-up ", you will find out that the options will be shown under the popup. You can easily replicate this to check the problem.
e.g.
panelbar.Add().Text("1st Option") .Expanded(false).Content(@<div>test</div>)panelbar.Add().Text("2nd Option") .Items(projects =>{projects.Add().Text("People").Content(@<div id="PersonsBasicFunctions" style="align-content:center;"> <script> function additionalData() { return { companyId: ${ CompanyID } }; } </script> @(Html.Kendo().Grid<TestArea.Models.RoleBasicFunctions>() .Name("RoleBasicFunctions") .Columns(columns => { columns.Bound(p => p.RoleBasicFunctionsID).Title("ID").Visible(false); columns.Bound(p => p.EntityBasicInformation.EntityType.EntityTypeName).Title("Name").HeaderHtmlAttributes(new { style = "white-space: normal" }); columns.Command(command => { command.Edit().Text(" "); }).Width(80); }) .Pageable() .Sortable() .Scrollable() .Editable(editable => editable.Mode(GridEditMode.PopUp).DisplayDeleteConfirmation(false).TemplateName("EditMidasRoleBasicFunctions").Window(ww => ww.Title("Edit").Width(1800))) .ToolBar(toolbar => toolbar.Create()) .Filterable() .DataSource(dataSource => dataSource.Ajax() .Model(model => { model.Id(p => p.RoleBasicFunctionsID); }) .Read(read => read.Action("RoleBasicFunctionsGrid_Read", "Midas").Data("additionalData"))) ) </div>);
and in the EditMidasRoleBasicFunctions template try a simple dropdown:
@(Html.Kendo().DropDownListFor(m => m.IsPrincipal) .DataTextField("Text") .DataValueField("Value") .BindTo(new List<SelectListItem>() { new SelectListItem() { Text = "Yes", Value = "0" }, new SelectListItem() { Text = "No", Value = "3" }, new SelectListItem() { Text = "Test", Value = "1" } }) .OptionLabel("Select User") .Popup(p => p.AppendTo("[content]")) .HtmlAttributes(new { style = "width: 100%" }) )
There is an ongoing support communication on the same topic with your colleague Manousos. Please, follow the conversation there for further details.
Regards,
Ianko
Progress Telerik
