Hi there,
We've just hit a strange issue. We have a DropDownList called "Title" that displays "Mr", "Mrs", "Ms" etc. However, we sometimes noticed that the Title submitted to the form was "LoanBorrower". This was strange as the only place "LoanBorrower" existed was in the MVC back end of the page with "ViewBag.Title = "LoanBorrower".
It appears that if the ViewBag has an entry with the same name as a Kendo form element, the elements default value is being set as the value in the ViewBag.
I have tried this with ViewBag entries other than Title, and the result is the same.
At the top of my "Borrower.cshtml" page I have the following:
@{
ViewBag.Title = "LoanBorrower";
}
I stripped the DropDownList down to the bare minimum and still had the problem:
@Html.Kendo().DropDownListFor(m => m.Title)
The control rendered as the following. Note the value is set to "LoanBorrower" which is the value in ViewBag.Title:
<input data-val="true" data-val-length="Title must be between 1 and 20 characters" data-val-length-max="20" data-val-length-min="1" data-val-required="Select a title." id="Title" name="Title" type="text" value="LoanBorrower" />
<script>
kendo.syncReady(function(){jQuery("#Title").kendoDropDownList({});});
</script>
I then changed the Kendo control to a Kendo TextBox and had the same problem:
@Html.Kendo().TextBoxFor(m => m.Title)
The control rendered as the following. Again, the value is set to "LoanBorrower":
<input data-val="true" data-val-length="Title must be between 1 and 20 characters" data-val-length-max="20" data-val-length-min="1" data-val-required="Select a title." id="Title" name="Title" value="LoanBorrower" />
<script>
kendo.syncReady(function(){jQuery("#Title").kendoTextBox({});});
</script>
I then changed the control to a standard HTML Textbox and no longer had the issue.
@Html.TextBoxFor(m => m.Title)
The control rendered as the following. Note that this time, the value is an empty string which is correct.
<input data-val="true" data-val-length="Title must be between 1 and 20 characters" data-val-length-max="20" data-val-length-min="1" data-val-required="Select a title." id="Title" name="Title" type="text" value="" />
Hi Team,
I would like to request to have a section in your documentation where the user could see what the DataSourceRequest and DataSourceResult would appear using different types of data such as OData, Json, and the like. This way, people could inspect what the data would look like to make sure it is returning correctly, and review the structure of data.
Thank you!
The Customer Download Builder (https://www.telerik.com/download/custom-download) is a great tool to build and download smaller versions of the quite large Kendo bundle in ways that allows a developer to just get the controls they want for their site and also minifies the bundles to aid with this aim. However, these custom bundles don't come with sourcemaps.
It would be great if there was an optional tickbox to provide these as well. This would enable much better DX when debugging issues either live or in local dev environments.
Excel spreadsheet fails to load if the sheet has Charts or TextArea. The Charts and TextArea are fundamental to us being able to make proper use of the spreadsheet control if we are to allow folks to upload their excel spreadsheet to provide our application functionality. It is not appropriate for us to use the spreadsheet control if it loses some of the excel spreadsheet items like Chart and TextArea if it were to even load correctly.
Request for this feature support is based on the details in the ticket at the URL:
https://www.telerik.com/account/support-tickets/view-ticket/1461086
Hi,
We are using globalization with UI for ASP.NET MVC to translate control to French (fr-CA). However, while most messages are correctly displayed in French, there are some that are still displayed in English. For example, if we use the Grid control with filter on a 'string' column, the dropdown for the operators shows both French ("Commence par") and English ("Is empty") operators:
Looking at the source code, we can see that in ressource files "Messages.fr-FR.resx" and "Messages.fr-CA.resx", there are some messages that are still in English (for example, Filter_StringIsEmpty).
Note that corresponding text seems to be correctly translated in jQuery messages file (for example, "kendo.messages.fr-CA.js"), so it might only be a matter of applying the same translation to .resx files.
Note also that the same problem seems to be present in the source code of the latest version (2020.1.114).
Thanks!
I would like to suggest an option when installing or upgrading Kendo MVC project to allow selection or deselection of languages for content and scripts. The extra languages add time to loading the web site and slow down publishing. We only need en-UK and en-US for our main project.
We are moving to automated deployment. Currently when upgrading, we have to manually remove the extra languages which are not required. It would be great to have an option in the wizard to do this when installed and this is set as default for upgrading.
Thanks
Lance
I have a problem with the DataSourceRequest Filters that are passed from grid to controller - they are not deserialized as I would expect it.
At the client side, I pass a single Composite Filter with logic: "or" and several Filter Items with same field and operator, but different values:
page=1 pageSize=30 filter=somefield~eq~123456~or~somefield~eq~242615~or~somefield~eq~242617
At the server side, they are not deserialized in the same form as I would expect, but in a recursive way. I would prefer to not convert the whole filter chain in my own code, only to process it in the same way it was sent from the client
I am restoring the filter for a Kendo Grid in a Controller from a stored filter string. When there is an exponential (e.g. 1e-9) as a value, FilterDescriptoractory.Create() throws an exception "Expected RightParenthesis". Looking at the filter string it seems to have the correct number of parentheses.
On some occasions exponentials work but I can not determine under which. Under which conditions will exponentials work in filters?
var filterString = "ShipName~eq~'ShipName1'~and~(Freight~eq~0~or~Freight~gte~1e-9)~and~ShipCity~gt~0";
var filters = FilterDescriptorFactory.Create(filterString);
Hello,
I would like to suggest improvement to the function convertValues which is used in the virtualized datasources in multiple controls (dropdownlist, combobox, multiselect etc).
I've realised (after very long time) that the ValueMapper ajax is called in the initial loading, i.e. when there is no default value set in the control. In my opinion that request is extra unnecessary load and shouldn't happen if there is no value to be checked (mapped).
For example check this screenshot of the link https://demos.telerik.com/kendo-ui/dropdownlist/virtualization
In my code I started to surround with the following if:
if (options.value != "") {
//value mapper code
}
else {
options.success([])
}
which stopped the initial value mapper ajax request.
This also helped to have only single value mapper request when there is default value set - otherwise it was generating 2 value mapper requests, one with empty value and another one with the set value.
I reckon this will help many users to improve their code.
Thanks.
Kind regards,
Kristina
Telerik UI for ASP.NET MVC version for custom datasource in the Read method of Transport does not support the method Data(string handler) in order to send additional parameters.
Kendo UI version supports this.
Is there a workaround for this?
Hi,
I'm wondering that if it's too much trouble for Telerik to add/implement Persian Calendar In Kendo UI Products.
respectfully,
Thank you for your consideration,
Passing a dynamic object to a template column builder throws an exception:
c.Template(m => { })
.ClientTemplate("<input type='checkbox' value='#= Id #' />")
.Visible(ViewBag.Can.Edit);
Using an explicit cast doesn't throw the error:
c.Template(m => { })
Using Visual Studio Enterprise 16.0.0.
Created MVC Project 4.6.1
Run Telerik utility to "Convert to Telerik Web Application" from Project context menu. On a clean project just created from the VS Template.
Since previous step errors out and doesn't complete an attempt was made to use the Telerik Upgrade Wizard.
This produced the following error:
An error occurred while running the wizard.
Error executing custom action Telerik.VSX.Actions.ShowConversionLogAction: Could not instantiate a TextTransformation object from the compiled assembly. The following Exception was thrown:
System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.TextTemplating3e7341780e3e4a17bdabe17b447cd796.GeneratedTextTransformation' to type 'Microsoft.VisualStudio.TextTemplating.TextTransformation'.
at Microsoft.VisualStudio.TextTemplating.TransformationRunner.CreateTextTransformation(String fullClassName, ITextTemplatingEngineHost host, Assembly assembly, ITextTemplatingSession userSession)
Using Visual Studio Enterprise 16.0.0.
Created MVC Project 4.6.1
Run Telerik utility to "Convert to Telerik Web Application" from Project context menu. On a clean project just created from the VS Template.
Error output from from Telerik VSX:
An error occurred while running the wizard.
Error executing custom action Telerik.KendoUI.Mvc.VSX.Actions.UpdateWebConfigAction: Could not instantiate a TextTransformation object from the compiled assembly. The following Exception was thrown:
System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.TextTemplating1fd31dc42b754a598ac1cf6e6d72e8f7.GeneratedTextTransformation' to type 'Microsoft.VisualStudio.TextTemplating.TextTransformation'.
at Microsoft.VisualStudio.TextTemplating.TransformationRunner.CreateTextTransformation(String fullClassName, ITextTemplatingEngineHost host, Assembly assembly, ITextTemplatingSession userSession)
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
https://go.microsoft.com/fwlink/?LinkId=301879
-->
<configuration>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
<authentication mode="Windows"/>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/>
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
</configuration>
When using QueryableExtensions.ToDataSourceResult() from Telerik MVC, SQL following gets produced:
.. FROM [RMP].[V_UC_EQUIPMENT_LOG2_LOCALIZATION] WHERE ([Extent1].[LOG_TIME] >= convert(DateTimeOffset, ''2019-03-05 23:00:00.0000000 +00:00'', 121)) AND ([Extent1].[LOG_CLASS_ID] IN (78,7,18,30,19,16,17))
When we filter manually in code with linq, e. g.
.. table.Where(e => e.T_EquiID == 234234) ...
the linq provider produces a parameterized query as follows:
AND (@p__linq__0 = [Extent1].[T_EquiID])...
When using a parameterized query, Sql Server can reuse the execution plan much better saving compile time, which is in our case sometimes a big issue.
Please tell us, why can QueryExtensions do produce parameterized queries.