Telerik Forums
UI for ASP.NET Core Forum
3 answers
157 views

Hi,
I am having an issue with the ASP.Net Core DropdownList with IE 11.  I have done a search and found a few suggested fixes, none seem to resolve my issue.

The scenario is that I have one dropdownlist that on its change event is to cause another dropdownlist to populate with related data.  It is a parent (Category) to child (Subcategory) relationship. 

The issue is that on the change event of the parent dropdownlist the child is not being refresh as expected.  If any new subcategories have been added since the last time the browser was opened, they do not show.  Sometimes even closing the browser and reopening it does not refresh the data.  I believe it is a caching issue related to IE as it works fine in Chrome.  I have followed the suggested fixes below.  They do not resolve my issue in a satisfactory way.

Solution one suggests using the inherit cascading functionality of the dropdownlist.  This does not work. In the code sample you will see that I am using a function within the .Data() to pass the parent category id.  I cannot seem to get that to work with passing the antiforgerytoken as well. 

https://www.telerik.com/forums/dropdownlist-datasource-read-and-refresh-the-parameters-

Solution two suggests to add “.Type(HttpVerbs.Post)” to the read action of the dropdownlists.  This does work if I remove our AntiForgeryToken protection.  The problem with this solution is that we cannot remove the antiforgerytoken for any post action even if the result is not a change to data.

https://stackoverflow.com/questions/26612828/issue-updating-kendo-dropdownlist-with-internet-explorer

Is there any other solution to my issue?  IE 11 is the official browser the company supports and as such I need it to work with IE 11.

In this first example I am using the cascading functionality with trying to pass the antiforgerytoken within the getCategoryId function.

function onCategoryChange() {       
    $("#SubCategoryId").data("kendoDropDownList").dataSource.read();
}
 
function getCategoryId() {
    var categoryId = $("#CategoryId").data("kendoDropDownList").value();       
    var id = categoryId;
    dict = new Object();
    dict['parentId'] = id;
    return { args: dict, "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() };
}

 

@(Html.Kendo().DropDownListFor(m => m.CategoryId)
    .HtmlAttributes(new { @class = "input-category" })
    .DataTextField("Description")
    .DataValueField("ServiceCategoryId")
    .Events(e => e.Change("onCategoryChange"))
    .DataSource(source => {
        source.Read(read => {
            read.Action("ActionSelectList", "ServiceRequest", new { listModel = "category" }).Type(HttpVerbs.Post).Data("sendAntiForgery");
            });
        })                  
)
 
@(Html.Kendo().DropDownListFor(m => m.SubCategoryId)
    .HtmlAttributes(new { @class = "input-category" })
    .ValuePrimitive(true)
    .DataTextField("Description")
    .DataValueField("ServiceCategoryId")
    .NoDataTemplate("NO SUBCATEGORY")
    .DataSource(source => {
        source.ServerFiltering(true);
        source.Read(read => {
            read.Action("ActionSelectList", "ServiceRequest", new { listModel = "subcategory" }).Data("getCategoryId");
        });
    })
    .Enable(false)
    .AutoBind(false)
    .CascadeFrom("CategoryId")
)

 

In this second example is am using the “.Type(HttpVerbs.Post)" solution with antiforgerytoken protection turned off.  The onCategoryChange function and the parent categoryId dropdownlist are the same as the first.  This works but is not a real solution since I have to turn of antiforgerytoken.

function getCategoryId() {
    var categoryId = $("#CategoryId").data("kendoDropDownList").value();       
    var id = categoryId;
    dict = new Object();
    dict['parentId'] = id;
    return { args: dict };
}

 

@(Html.Kendo().DropDownListFor(m => m.SubCategoryId)
    .HtmlAttributes(new { @class = "input-category" })
    .ValuePrimitive(true)
    .DataTextField("Description")
    .DataValueField("ServiceCategoryId")
    .NoDataTemplate("NO SUBCATEGORY")
    .DataSource(source =>
    {
        source.ServerFiltering(true);
        source.Read(read =>
        {
                read.Action("ActionSelectList", "ServiceRequest", new { listModel = "subcategory" }).Data("getCategoryId").Type(HttpVerbs.Post);
        });
    })
    .AutoBind(false)
)

 

Thank you for any help you can provide.

Rick

 

 

Rick
Top achievements
Rank 1
 answered on 13 Aug 2019
3 answers
748 views

what is the difference between the NuGet package Kendo.for.AspNet.Core vs. Telerik.UI.for.AspNet.Core ?
Under what situation to use one versus the other ?

I downloaded both from Visual Studio NuGet into my project then noticed I get a compilation warning error about the PackageReference and Version.

Nikolay
Telerik team
 answered on 12 Aug 2019
1 answer
163 views

Hi Telerik experts,

 

Could you educate me add a logo picture on the top menu, like this picture showed.  Thanks a lot!

 

 

Ivan Danchev
Telerik team
 answered on 09 Aug 2019
3 answers
753 views

Hi, looking for information on how to integrate spell checking in the asp.net core editor component. Can anyone provide an example.  I see radspell in MVC but not core.

Thanks in advance, Matt

Marin Bratanov
Telerik team
 answered on 09 Aug 2019
1 answer
162 views
     Can I have a vertical toolbar?
Aleksandar
Telerik team
 answered on 09 Aug 2019
1 answer
85 views

I've got a webapp already running fine and I've been thinking about adding scheduler.  What would be the easiest way to implement it?  My data will be on a sql database.

 

Thanks in advance

Veselin Tsvetanov
Telerik team
 answered on 09 Aug 2019
1 answer
210 views
How do I put a spacer or a separator between entries in the PanelBar?  The Items in my PanelBar have some grouping that I'd like to show visually.  Old-school Menus used to let the developer put a dash (-) in the entry in order to visually show a separator.
Veselin Tsvetanov
Telerik team
 answered on 09 Aug 2019
1 answer
123 views

Hi,

 

Is there a way to set color on the value for some fields according to some rule?  yes/no or >0, <0.

Marin Bratanov
Telerik team
 answered on 08 Aug 2019
1 answer
241 views

Hi,

 

I want to get the filters from the grid to perform server side filtering. Is this possible with your grid and RazorPages?

I want to show a lot of logmessages, that have to be filtered on the database, because i would load to many records.

 

Best Regards

Moritz

 

Moritz
Top achievements
Rank 1
 answered on 07 Aug 2019
5 answers
771 views

Hi all,

I'm looking to cleanse data exported from a Kendo Grid to an Excel Spreadsheet and I've not yet been able to find any way of doing this using the available Kendo Grid functions.

Does anyone know of a way to manipulate data exported from a Grid, before it's pushed into an Excel spreadsheet?

For example, I'm looking to escape Excel formula characters to make sure malicious code is not run on a client machine, when they open up an Excel spreadsheet (which has been filled with exported grid data). I need to replace characters such as equal to (=), plus (+), etc.

I'm currently using the Telerik.UI.for.AspNet.Core (2019.2.514) nuget package.

Many thanks in advance,

John

Alex Hajigeorgieva
Telerik team
 answered on 07 Aug 2019
Narrow your results
Selected tags
Tags
+? more
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?