Replicating functionality moving from MVC Extensions to Kendo MVC

6 posts, 0 answers
  1. Danny
    Danny avatar
    1 posts
    Member since:
    Sep 2008

    Posted 04 Jul 2012 Link to this post

    We are currently having problems achieving the same functionality we have in MVC Extensions.

    1. In MVC Extensions we have a modified combobox helper below which allows us to set the initial value & text in a 'load on demand' combobox.  As part of the helper we also modify the name to change "-input" to "_input" so both the posted value and text can be bound to properties in our view model (ie int abc and string abc_input).  

    Can you advise how to best achieve this using Kendo MVC combobox as we have been unable to convert the logic below.

                return helper.Telerik().ComboBox()
                             .Name(name)
                             .InputHtmlAttributes(new
                             {
                                 id = name + "_input",
                                 name = name + "_input",
                                 value = text
                             })
                             .Value(value != null ? value.ToString() : string.Empty);

    2. Perhaps related to my issue above but when I select an item from a kendo combobox and post the the results the combobox selection is not maintained when the view is redrawn... in fact the firebug shows only the combobox selected data value is posted

        @using (Ajax.BeginForm("Index", "Home", new AjaxOptions { HttpMethod = "POST" }))
        {
            @(Html.Kendo().ComboBox()
                    .Name("TestComboID")
                    .AutoBind(false)
                    .DataTextField("Text")
                    .DataValueField("ID")
                    .Filter("contains")
                    .DataSource(source =>
                    {
                        source.Read(read =>
                        {
                            read. Action("GetProducts", "Home")
                        })
                        .ServerFiltering(true);
                    })
            )
       
    3. Server Filter

    Currently to implement combobox server filtering in MVC extension is quick and easy.  The way it has been implemented in Kendo MVC examples requiring .Data to be manually set in the DataSource is clumsy and inefficient given the amount of code required.. If you only have a few combobox's it wouldn't be an issue but we have over 100... Is there any way to improve this so the value is automatically passed when server filtering is on?

    Thanks in advance,
    Danny
  2. Georgi Krustev
    Admin
    Georgi Krustev avatar
    3707 posts

    Posted 06 Jul 2012 Link to this post

    Hello Danny,

     
    Straight upto your questions:

    #1:
    For the Q2 release of KendoUI ( scheduled for the next week) we will provide a Text() method which will give you the ability to set the text of the visible input easily:

    return helper.Kendo().ComboBox()
             .Name(name)
             .Text(text) //will be available in Q2 2012 release of KendoUI
             .Value(value != null ? value.ToString() : string.Empty)

    Currently in the available beta the visible input does not have name attr and that is why it does not post its value. We will change this for the Q2 release. The name will be ComboBox's name plus "_input". Hence you will not need to override html attributes as you do in your extension method.

    #2:
    As you already noticed, the value of the visible input is not sent to the server. We will change this as I pointed in the point 1.

    #3:
    After further investigation, we decided that we can improve current approach.  If the server filtering is enabled and Data handler is not defined, we will render one by default. Thus the combobox will sent automatically the text of the visible input. By default it will be text as in the Telerik Extensions for ASP.NET MVC.

    Let me know if other questions arise.

    Kind regards,
    Georgi Krustev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  3. UI for ASP.NET MVC is VS 2017 Ready
  4. Danny
    Danny avatar
    1 posts
    Member since:
    Sep 2008

    Posted 06 Jul 2012 Link to this post

    Hi Georgi,

    Thanks alot, the changes you have described as coming make moving to Kendo MVC very encouraging.

    Based on these changes, one final related combobox functionality that I would like to confirm will be in Kendo that was implemented in MVC extensions is the initial filtering text sent when the combobox is preset with a selected ID & Text...

    Currently in MVC Extensions if I load a view and preset a combobox ID & Text and then dropdown the combobox list the server filter text is sent as empty rather than the defaulted text... Obviously without this functionality changing the selection is difficult for the user... if the original text is sent the system would generally just return the same item so the user would need to clear the current selection if they wanted to check what other items are in the list.

    Thanks,
    Danny
  5. Georgi Krustev
    Admin
    Georgi Krustev avatar
    3707 posts

    Posted 09 Jul 2012 Link to this post

    Hi Danny,

     
    The default Data handler, whcih we will provide for the official release, will handle this functionality. If the dataSource of the widget does not have filters, then we will send empty string as filter text. In other words the required functionality will be implemented in KendoUI for ASP.NET MVC.

    Kind regards,
    Georgi Krustev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  6. Danny
    Danny avatar
    1 posts
    Member since:
    Sep 2008

    Posted 09 Jul 2012 Link to this post

    Thanks Georgi...

    Just want to clarify when you say  "If the dataSource of the widget does not have filters, then we will send empty string as filter " that any initial Text set on the combo is not considered to be a filter

    Looking forward to the release
    Danny
  7. Georgi Krustev
    Admin
    Georgi Krustev avatar
    3707 posts

    Posted 09 Jul 2012 Link to this post

    Hello Danny,

     
    The value set with Text() method is not considered as filter. For more information about the filters check this link.

    Regards,
    Georgi Krustev
    the Telerik team
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
Back to Top
UI for ASP.NET MVC is VS 2017 Ready