Hi,
I am facing the following issue: my dropdown, that is inside a Kendo UI grid, is showing as textbox.
Here is the code of the grid:
@model Portal.Web.Areas.Orders.Models.IngressoMerceViewModel<br><br>@(Html.Kendo().Grid<Portal.Web.Areas.Orders.Models.IngressoMerceGridViewModel>()<br> .Name("grid")<br> .Events(e => e.DataBound(@<text>function() {for (var i = 0; i @Html.Raw("<") this.columns.length; i++) {this.autoFitColumn(i);}}</text>))<br>.Columns(columns =><br>{<br>columns.Template("<input type='checkbox' />");<br>columns.Bound(p => p.Posizione).Title("Posizione").Width(200);<br>columns.Bound(p => p.Materiale).Title("Materiale").Width(200);<br>columns.Bound(p => p.Description).Title("Testo breve").Width(200);<br>columns.Bound(p => p.WarehouseLogicStore)<br> .Editable("false").Width(200)<br>.ClientTemplate(Html.Kendo().DropDownList().Events(e => e.Change("change"))<br>.Name("WHLogicValue").DataTextField("Code").DataValueField("Code").DataSource(source =><br>{<br>source.Read(read =><br>{<br>read.Action("WarehouseLogicTypes_Read", "IngressoMerce");<br>});<br>}).Deferred(!Model.IsAjax).ToClientTemplate().ToString()<br><br>);<br>columns.Bound(p => p.Quantity).Title("Qta Ordine").Width(200);<br>columns.Bound(p => p.UnitOfMeasure).Title("UM").Width(200);<br>columns.Bound(p => p.ReceivedQty).Title("Qta giĆ ricevute").Width(200);<br>columns.Template("<input type='text' value=#= InProgressQtyCheck# onclick=\"myFunction(p)\"/>").Title("Qta ricevute");<br>columns.Template("<input type='checkbox' />").Title("Completa Pos.Ordine");<br>columns.Bound(p => p.InProgressQtyCheck).Title("Qta da ricevere").Width(200);<br>columns.Bound(p => p.ExpectedDeliveryDate).Format("{0:dd/MM/yyyy}").Title("Data consegna prevista").Width(200);<br>columns.Bound(p => p.QualityCheckNeeded).Title("Check qualitativo richiesto").Width(220);<br>})<br>.Pageable()<br>.Sortable()<br>.Scrollable()<br>.HtmlAttributes(new { style = "height:430px;" })<br>.DataSource(dataSource => dataSource<br>.Ajax()<br>//.Read(read => read.Url("/orders/details").Type(HttpVerbs.Get))<br>.Read(read => read.Action("OrderDetails_Read", "IngressoMerce", Model))<br>)<br>.Deferred(!Model.IsAjax)<br><br><br><br>)<br><br><br><br> <script><br> myFunction(p)<br> {<br><br> }<br> </script>
Here is the call of the action method, that does not fire in the controller:
[AllowAnonymous]
public async Task<JsonResult> WarehouseLogicTypes_Read()
{
try
{
var types = await gateway.GetWarehouseLogicTypes();
return Json(types);
}
catch (Exception ex)
{
//logger.LogError(ex.Message);
throw ex;
}
}
