Telerik Forums
Kendo UI for jQuery Forum
7 answers
3.1K+ views
I'm having a problem after server side validation fails and the model is returned to the editor.

Here is the code for the model field that needs to be edited using the kendo editor:
[Required]
[MaxLength(120, ErrorMessage = "You must enter less than 120 characters.")]
public string HelpContent { get; set; }
At the moment the HelpText filed has the following data in the database:
<p>Bacon ipsum dolor sit amet shoulder tenderloin corned beef, hamburger chicken ham hock strip steak.</p>
When the page is initially displayed the text above is rendered in the kendo editor as expected (with styles instead of html tags - see goodeditor image). Inspecting Model.HelpContent within the razor code shows that the field contains the above code.

When the form is submitted with the above content, the content is encoded so that it looks like:

&lt;p&gt;Bacon ipsum dolor sit amet shoulder tenderloin corned beef, hamburger chicken ham hock strip steak.&lt;/p&gt;

The ActionResult that is handling the post:
public ActionResult EditRepositoryHelp(RepositoryHelpEditModel repositoryHelpEditModel)
{
    if (ModelState.IsValid)
    {
        repositoryHelpEditModel.HelpContent = HttpUtility.HtmlDecode(repositoryHelpEditModel.HelpContent);
        Repository.UpdateRepositoryHelpText(repositoryHelpEditModel);
        return RedirectToAction("Index", "Admin");
    }
 
    repositoryHelpEditModel.HelpContent = HttpUtility.HtmlDecode(repositoryHelpEditModel.HelpContent);
    return View(repositoryHelpEditModel);
}
Inspecting the repositoryHelpEditModel.HelpContent field shows the encoded content, which is under 120 characters so it is decoded and saved to the database.

However, when the text is updated so that there are more than 120 characters and then the form submitted,  the validation fails (since the length of repositoryHelpEditModel.HelpContent is > 120). For example if I add the text "More text." to the editor and submit then the value of repositoryHelpEditModel.HelpContent will be:

&lt;p&gt;Bacon ipsum dolor sit amet shoulder tenderloin corned beef, hamburger chicken ham hock strip steak. More text.&lt;br /&gt;&lt;/p&gt;

Since the validation fails, HelpContent is decoded again and the model is returned to the view to be displayed in the editor.

This time the text is rendered with html tags (see badeditor image) instead of showing marked up content.

Here is the code for the editor:
@( Html.Kendo().EditorFor(model => model.HelpContent)
                .Encode(true)
                .HtmlAttributes(new { style = "width:100%;height:440px" })
                .Tools(tools => tools.Clear()
                    .Bold().Italic().Underline().FontSize().FontColor().JustifyLeft()
                    .JustifyCenter().JustifyRight().JustifyFull().InsertUnorderedList()
                    .InsertOrderedList().Indent().CreateLink().ViewHtml()))

Is this a bug with the editor or am I doing something wrong here?

Dimitar
Telerik team
 answered on 06 Jul 2018
3 answers
270 views

Hello.

 

I didn't find a way to export Grid to pdf. Nor I found .excel export. Could you let me know when are you going to release these features?

Svet
Telerik team
 answered on 06 Jul 2018
3 answers
341 views

Hello

In PUT and POST operation all number properties of my entity are sent in string format. In my GET operation, I receive my entity with correct value, but when I send my entity, my datasource convert number properties in string.

My datasource definition :

var _FrmTest_dtTtOrigineGeographique = new kendo.data.DataSource({
            type: "odata-v4",
            content: "json",
            transport: {
                read: {
                    url: "https://localhost:9443/odata/EntiteTtOrigineGeographiques",
                },
                update: {                     
                    url: function (data) { return "https://localhost:9443/odata/EntiteTtOrigineGeographiques(" + data.IdTtOrigineGeographique + ")" },
                }
                 
            },
            schema: {
                model: {
                    id: "IdTtOrigineGeographique",
                    fields: {
                        IdTtOrigineGeographique: {
                            type: "number",
                            editable: false,
                        },
                        StrLibelle: {
                            type: "string"
                        },

                        Pourcentage: {

                             type: "number"

                        }

                    }
                }
            },
            error: function (e) {
                console.log(e.xhr);
            },
            filter: {
                logic: "and",
                filters: [
                    { field: "IdTtOrigineGeographique", operator: "eq", value: _idTtOrigineGeographiqueSelect }]
            },
            serverFiltering: true,
            serverSorting: true
        });

With GET operation, I receive my entity like this

{"@odata.context":"https://localhost:9443/odata/$metadata#EntiteTtOrigineGeographiques","@odata.count":1,"value":[{"IdTtOrigineGeographique":5,"StrLibelle":"Autres départements", "Pourcentage": 4.55}]}

But when I update my entity and I call sync method, my datasource send my entity like this :

{"IdTtOrigineGeographique":"5","StrLibelle":"Autres département","Pourcentage":"4.55"}

I verify JSON.stringify() and kendo.stringify() functions and my entity is correctly serialize

For integer property it's not blocking because my webservice convert automatically string to integer. But with float (ex : 4.55), I have a exception and my entity it's not deserialize.

Can you help me ? Thanks in advance

Arnaud

Veselin Tsvetanov
Telerik team
 answered on 05 Jul 2018
3 answers
190 views

Hi

Is there a way I can control the transition style of a view? I would like to let some views slide in from top, bottom, left or right. Is that somehow possible?  I am already doing this but not with views, just DIVs and an own slide function. I would like to do that with views so I don't have to care about rotation things, etc. 

Regards

Misho
Telerik team
 answered on 05 Jul 2018
2 answers
114 views

I have a local data source which is a JS array. I setup transport methods to read/write the data. When the data is modified by Kendo widget like grid it works fine.

If I modify the array directly outside a widget in JS, how can I tell Kendo that the data source changed?

 

Thanks!

Brett
Top achievements
Rank 1
 answered on 05 Jul 2018
1 answer
990 views

I am new to Kendo, I have a dropdownList and on Change I would like to set all of the rows in the dropDownList to "Sold" . Right now I do have the change portion of the DropDownList working but can not seem to change the value of any rows . This is my code and I am trying to follow this  example here anyways this is my code below . I have about 12 rows and my field name is Names . I am also getting an error when I try to complete that below and it says Uncaught TypeError: Cannot read property 'set' of undefined . Any suggestions on getting this resolved would be great . Again all I am trying to do is set all the rows below dropdownList with the field Names to John when someone changes value in the dropdown .

 

 <div id="MyGrid" style="text-align: center;"> </div>
function statusUpdate(element)
 {    
element.element.kendoDropDownList({       
 optionLabel: "-Select-",  dataTextField: "text",  dataValueField: "value",       
 dataSource: [{ text: "Scott", value: "Scott" },{ text: "Sam", value: "Sam" }],        
change: function (e) { 
     
    var grid = $("#MyGrid").data("kendoGrid");
        var dataItem = grid.dataSource.get(2);
        dataItem.set("Names", "John");
 
    }
   })
}
Dimitar
Telerik team
 answered on 05 Jul 2018
3 answers
465 views

I have a grid, which uses detailInit, inside the detail row I have a grid with a toolbar template with an Add and Delete button. When I click the Add button to add a new row to the grid, the new row gets added but the detail row collapses.

How can stop that from happening?

John
Top achievements
Rank 1
 answered on 04 Jul 2018
4 answers
554 views

Hi,

What is the most efficient way to update the map layer datasource? For this map I use a url I'd like updated (because a get parameter changes).

I read this: http://d585tldpucybw.cloudfront.net/forums/change-marker-layer%27s-data-source

But it's outdated, currently there is no more _initDataSource() and the setDataSource() did find its way to the layer object but I can't get it to work:

don't find an example for it.

 also, I tried:

var layer = $("#selectionMap").data("kendoMap").layers[0];
layer.dataSource.transport ={read:$scope.baseUrl+"/MapStatistics"+"?countryvar="+$scope.ui.subSelections.countryVar};
layer.reset();

 Also tried this:

layer.setDataSource({type: "geojson",transport: {read:$scope.baseUrl+"/MapStatistics"+"?countryvar="+$scope.ui.subSelections.countryVar}})

 

Error: this.dataSource.unbind is not a function

So my question: Is there an efficient way to do this so the map is reloaded on layer url update?

thanks,

Arno
       
​

 

Alex Hajigeorgieva
Telerik team
 answered on 04 Jul 2018
8 answers
405 views

GroupFooterTemplate works during load, but after removing the age from header and readding, the grid crashes.

Any suggestions?

 

Example in following link.

https://dojo.telerik.com/EhIkExel/2

Alex Hajigeorgieva
Telerik team
 answered on 03 Jul 2018
1 answer
312 views
Is there a way to add subtitles/closed-captioning to the player?
Georgi
Telerik team
 answered on 03 Jul 2018
Narrow your results
Selected tags
Tags
Grid
General Discussions
Charts
Data Source
Scheduler
DropDownList
TreeView
MVVM
Editor
Window
DatePicker
Spreadsheet
Upload
ListView (Mobile)
ComboBox
TabStrip
MultiSelect
AutoComplete
ListView
Menu
Templates
Gantt
Validation
TreeList
Diagram
NumericTextBox
Splitter
PanelBar
Application
Map
Drag and Drop
ToolTip
Calendar
PivotGrid
ScrollView (Mobile)
Toolbar
TabStrip (Mobile)
Slider
Button (Mobile)
Filter
SPA
Drawing API
Drawer (Mobile)
Globalization
LinearGauge
Sortable
ModalView
Hierarchical Data Source
Button
FileManager
MaskedTextBox
View
Form
NavBar
Notification
Switch (Mobile)
SplitView
ListBox
DropDownTree
PDFViewer
Sparkline
ActionSheet
TileLayout
PopOver (Mobile)
TreeMap
ButtonGroup
ColorPicker
Pager
Styling
Chat
MultiColumnComboBox
Dialog
DateRangePicker
Checkbox
Timeline
Drawer
DateInput
ProgressBar
MediaPlayer
ImageEditor
TextBox
OrgChart
Accessibility
Effects
PivotGridV2
Licensing
ScrollView
Switch
TextArea
BulletChart
QRCode
ResponsivePanel
Wizard
CheckBoxGroup
Localization
Barcode
Breadcrumb
Collapsible
MultiViewCalendar
Touch
RadioButton
Stepper
Card
ExpansionPanel
Rating
RadioGroup
Badge
Captcha
Heatmap
AppBar
Loader
Security
TaskBoard
Popover
DockManager
TimePicker
FloatingActionButton
CircularGauge
ColorGradient
ColorPalette
DropDownButton
TimeDurationPicker
ToggleButton
BottomNavigation
Ripple
SkeletonContainer
Avatar
Circular ProgressBar
FlatColorPicker
SplitButton
Signature
Chip
ChipList
VS Code Extension
AIPrompt
PropertyGrid
Sankey
Chart Wizard
OTP Input
SpeechToTextButton
InlineAIPrompt
StockChart
ContextMenu
DateTimePicker
RadialGauge
ArcGauge
AICodingAssistant
SmartPasteButton
PromptBox
SegmentedControl
+? more
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Top users last month
Miljana
Top achievements
Rank 2
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Bronze
Cynthia
Top achievements
Rank 1
John
Top achievements
Rank 1
Iron
Mozart
Top achievements
Rank 1
Iron
Veteran
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?