CodeSmith Community
Your Code. Your Way. Faster!

Web controls

Latest post 12-05-2006 11:52 AM by jmartinez. 7 replies.
  • 10-19-2006 10:04 PM

    • velum
    • Top 25 Contributor
    • Joined on 07-14-2006
    • Montréal, Qc, Canada
    • Posts 186
    • Points 4,716

    Web controls

    Hi!

    This is not a .netTiers specific question. It is about ASP.NET web controls in general. If I submit it here, it is because I know that many participants in this forum are excellent developers. I am working on my first ASP.NET project and I must say that I encountered quite a few problems. In fact, I am quite disapointed with ASP.NET. I even came to the point of considering switching technology despite all the time invested in the project (a few months). Before doing so though, I hired an ASP.NET developer of experience to chat a bit with him about the kind of problems I encountered. The main problem seems to be lieing in the use of the web controls provided with ASP.NET. He highly recommended to buy third party controls that are well supported. He's using controls from Infragistics. It seems to be the Rolls-Royce of controls. However, he said that the learning curve to use Infragistics' package is quite steep. And the question is: What is your experience with Microsoft's web controls and third party's web controls? Are there some that are quite good and quite easy to use? I cannot afford too much learning time.

    By the way, if I were to switch technolgy .netTiers would be the toughest part to let go. I really find the .netTiers team is doing a tremendous job in implementing best practices and patterns!

    Cheers!

    JF,

     

    Filed under:
    • Post Points: 65
  • 10-19-2006 10:51 PM In reply to

    Re: Web controls

    It depends on the complexity of your application and what you're requirements are.  This being your first ASP.net project, I'm certain that it's a huge learning curve.  It's a large set of controls to try to learn on your own for a large project.  Even if you move to a 3rd party suite, 3rd party controls can be great, the downside is yes, the learning curve and introducing yet another layer of non-standard complexity into your application.  I personally favor the telerik control suite myself, but you should also check out the ComponentArt suite as well, to give a couple more options.  I recommend, if you've already invested a bunch of time into this project to hire someone to give you lessons like 3 hours a day for at least a week to get you deep in the know on asp.net controls or a control suite.  Once you understand how they work, and all the little nuances, then it becomes easier.   The time it takes to probably rewrite what you've already invested 3 months into is too large of a hit.  So in reality, there's no easy solution for this, you either take the time away from the project to ramp up for a week, or you lose out on at least 480 hours of work already invested in this project.

    Robert Hinojosa
    -------------------------------------
    Member of the Codesmith Tools, .netTiers, teams
    http://www.nettiers.com
    -------------------------------------
    • Post Points: 60
  • 10-20-2006 9:06 AM In reply to

    • velum
    • Top 25 Contributor
    • Joined on 07-14-2006
    • Montréal, Qc, Canada
    • Posts 186
    • Points 4,716

    Re: Web controls

    Hi Robert!

    Thanks for that hindsight! In fact, my situation is a bit special. I am my own customer. A good part of the work is building a specialized CMS for a web sight I am building with partners. This custom CMS consists of a database with about 60 tables, and we need around 75 interfaces (forms: GridViews, and FormViews) to manage the content. Part of these forms are quite simple, and are there just to populate list tables. Others are more complex to facilitate the data entry ergonomy. But, we are not using anything too fancy. It is mainly the FormViews and the GridViews that should be easier to work with and more complete than the Microsoft ones. And of course, 2-way databinding should work all the way (I am refering to the DataBinding of MS DrowpDownLists which is breaking if you try to put them in an insert row of a modified MS GridView).

    In fact, I haven't put 480 hours of my time in the programming. I am working only part time on the project. But it is a good suggestion you are making. The reasons for thinking of using another technology was that I can evaluate more easily how much time this project will take me in a technology I know (PHP, ASP). With ASP.NET, it is very hard to know how long the path will be with all my stumbling.

    I can believe that .Net is a good technology for application programming. All along the way though, and mainly recently, I have been wondering whether it was such a good technology for web development. I wish I knew a senior developer who would have done important projects with various technologies (PHP, ASP, ASP.NET and Ruby On Rails) to hear him tell me the pros and cons of each one. Someone with a good sense of objectivity...

    Thanks!

    JF

     

    • Post Points: 35
  • 10-20-2006 9:22 AM In reply to

    • velum
    • Top 25 Contributor
    • Joined on 07-14-2006
    • Montréal, Qc, Canada
    • Posts 186
    • Points 4,716

    Re: Web controls

    Hi!

    One improtant question: Will the .netTiers relationship controls (OneToOneViewRelationship, OneToManyGridRelationship, etc.) be compatible with third parties web controls?

    Cheers!

    JF


     

    • Post Points: 5
  • 10-20-2006 9:25 AM In reply to

    • jcteague
    • Top 10 Contributor
    • Joined on 03-10-2005
    • Austin, Tx
    • Posts 442
    • Points 10,925

    Re: Web controls

    I've worked with php, asp, and asp.net (and coldfusion back in the day).  I've also mentored developers migrating to asp.net from asp.  From my experience and the experience of mentoring others, the first asp.net app is a throw-away (or at least will need to be rebuilt later).  The concepts in asp.net are significantly different than php or asp and it takes some experience to create good asp.net apps.  However once you get there, I doubt you will want to go back.  The advantages for me is a more maintable app and a richer object model.
     
    My advice:  Focus on event model programming model and avoid the declarative model.  You are probably more comfortable with the declarative approach which is similar to the inlining of structure and data you see in php and asp. 
     
    There's lots of help in the forums and usegroups and people here too.
     
    Good luck

     
    On 10/20/06, velum <bounce-velum@codesmithsupport.com> wrote:

    Hi Robert!

    Thanks for that hindsight! In fact, my situation is a bit special. I am my own customer. A good part of the work is building a specialized CMS for a web sight I am building with partners. This custom CMS consists of a database with about 60 tables, and we need around 75 interfaces (forms: GridViews, and FormViews) to manage the content. Part of these forms are quite simple, and are there just to populate list tables. Others are more complex to facilitate the data entry ergonomy. But, we are not using anything too fancy. It is mainly the FormViews and the GridViews that should be easier to work with and more complete than the Microsoft ones. And of course, 2-way databinding should work all the way (I am refering to the DataBinding of MS DrowpDownLists which is breaking if you try to put them in an insert row of a modified MS GridView).

    In fact, I haven't put 480 hours of my time in the programming. I am working only part time on the project. But it is a good suggestion you are making. The reasons for thinking of using another technology was that I can evaluate more easily how much time this project will take me in a technology I know (PHP, ASP). With ASP.NET, it is very hard to know how long the path will be with all my stumbling.

    I can believe that .Net is a good technology for application programming. All along the way though, and mainly recently, I have been wondering whether it was such a good technology for web development. I wish I knew a senior developer who would have done important projects with various technologies (PHP, ASP, ASP.NET and Ruby On Rails) to hear him tell me the pros and cons of each one. Someone with a good sense of objectivity...

    Thanks!

    JF

     





    Thanks, John Teague ------------------------------ Member of the .NetTiers team http://www.nettiers.com ------------------------------

    • Post Points: 35
  • 10-20-2006 4:24 PM In reply to

    • velum
    • Top 25 Contributor
    • Joined on 07-14-2006
    • Montréal, Qc, Canada
    • Posts 186
    • Points 4,716

    Re: Web controls

    Thanks John for your advices!

    I will try to open my mind to event model programming. You're right in saying that I am more comfortable with the declarative approach. I must admit that up to now, I was embracing OOP, but that I was very reluctant to event model programming. The thing I find difficult with event model programming is that you need to know by heart when what event is happening, otherwise you don't understand what is happening. I remember switching the sequence of two lines in my code, and it changed everything. I could not understand why because, to my eyes, the sequence did not matter in that case. It is a bit like saying: a=2; b=3; c=a+b; is the same as b=3; a=2; c=a+b. However, one of the lines was triggering DataBinding. That was quite odd to me, as event model programming was new to me.

    The good thing about my project is that the first part is for an Intranet, so I have more room for trying things. The second part though will be a web site.

    Have a good weekend!

    JF


     

    • Post Points: 5
  • 10-20-2006 5:00 PM In reply to

    • velum
    • Top 25 Contributor
    • Joined on 07-14-2006
    • Montréal, Qc, Canada
    • Posts 186
    • Points 4,716

    Re: Web controls

    Hi Robert!

    I read about quite a few web control toolboxes today, and my fovarite is the one from Telerik too. Well, they have the site that is easiest for me to understand and find information. Thanks for the hint! So I tried their control box, but not everything was working. I don't know if it is because of my lack of experience or because of incompatibilities with the controls. I think I will follow your advice of hiring a consultant to get me up to speed with these controls. However, I would like to make sure first that the Telerik controls are compatible with .netTiers. I would think you are using both tools together, but I prefer to ask you just to be certain.

    In a RadGrid, I replaced this binding <%# DataBinder.Eval(Container, "DataItem.ModuleID") %> with the wollowing one: <%# DataBinder.Eval(Container, "DataItem.ModuleIDSource.ModuleNomFR") %>, but it did not work. With the new binding, I should see Module Names instead of Module IDs in the column, but it is empty. On the same page, I also have an ASP GridView with this binding: <%# Eval("ModuleIDSource.ModuleNomFR") %>, and it is working, so I know for sure that ModuleIDSource.ModuleNomFR does contain values.

    On another page, I replaced an asp:DropDownList with a radC:RadComboBox, using the same properties. But I am getting an error. Here is the control:

                            <radC:RadComboBox ID="TypeModuleDropDownList" runat="server" DataSourceID="ModuleDataSource" SkinsPath="~/RadControls/ComboBox/Skins"
                                AppendDataBoundItems="true"
                                SelectedValue='<%# Bind("ModuleID") %>'
                                DataValueField="ModuleID" DataTextField="ModuleNomFR"
                                OnSelectedIndexChanged="OnSelectedTypeModuleChanged" 
                                AutoPostBack="true">
                                <Items>
                                    <radC:RadComboBoxItem  Value="" Text="Tous les types de module" Selected="True" />
                                </Items>
                            </radC:RadComboBox>


    Here is the error:

    Specified argument was out of the range of valid values.
    Parameter name: 1

    1 is supposed to be a valid value. It is working with a DropDownList 

    This is why I am wondering whether these controls are compatible with .netTiers. I would like to have this confirmed before I buy a set of controls for 800 $.

    Cheers!

    JF


     

     

    • Post Points: 5
  • 12-05-2006 11:52 AM In reply to

    • jmartinez
    • Not Ranked
    • Joined on 12-05-2006
    • Posts 7
    • Points 95

    Re: Web controls

    I had the same problem when using the Telerik RadGrid

    The problem is that when trying to bind the child's objects properties in the RadGrid its displaing only null data for this fields (tough, the object properties are displayed correctly).

    For example: I have RadGrid that displays
    Payments objects with a column for the CardType description (wich is a child object)

    <radG:GridBoundColumn DataField="CardNum" HeaderText="CardNum"/>
    <radG:GridBoundColumn DataField="ExpMonth" HeaderText="ExpMonth"/>
    <radG:GridBoundColumn DataField="ExpYear" HeaderText="ExpYear"/>
    <radG:GridBoundColumn DataField="CardTypeSource.Description" HeaderText="CardTypeSource.Description">

    The payment properties were displayed correctly but the card type description was blank. 

    I asked them for support. Thats their response:

    -------------------------------------------------------------------------------------------------------------------------------------------

    We reviewed carefully the provided project and we found that the PaymentsBase class implements ICloneable and does not clone properly the sub objects. If the class implements ICloneable, the grid will call the Clone() method which should properly clone all properties and sub objects. Here is a small modification which will avoid the problem:

    TF_OERS.Entities\PaymentsBase.generated.cs
     

            #region ICloneable Members 

            ///<summary> 

            ///  Returns a Typed Payments Entity  

            ///</summary> 

            public virtual Payments Copy() 

            { 

                //shallow copy entity 

                Payments copy = new Payments(); 

                copy.ID = this.ID; 

                copy.OriginalID = this.OriginalID; 

                copy.CheckoutID = this.CheckoutID; 

                copy.Amount = this.Amount; 

                copy.Method = this.Method; 

                copy.CardType = this.CardType; 

                copy.CardNum = this.CardNum; 

                copy.ExpMonth = this.ExpMonth; 

                copy.ExpYear = this.ExpYear; 

                copy.BillingName = this.BillingName; 

                copy.BillingAddress = this.BillingAddress; 

                copy.BillingCity = this.BillingCity; 

                copy.BillingState = this.BillingState; 

                copy.BillingCountry = this.BillingCountry; 

                copy.BillingPostalCode = this.BillingPostalCode; 

                copy.CheckNum = this.CheckNum; 

                copy.CheckDate = this.CheckDate; 

                copy.CheckBank = this.CheckBank; 

                copy.ChargedStatus = this.ChargedStatus; 

                copy.Notes = this.Notes; 

                copy.DateTimeStamp = this.DateTimeStamp; 

     

                copy.CardTypeSource = (CardTypes)this.CardTypeSource.Clone(); 

                         

                copy.AcceptChanges(); 

                return (Payments)copy; 

            } 

             



    You can point this info to NetTiers also.
     

    _____________________________________________________

    I was working with .NetTiers Version 2.0.  Somebody knows if this has been corrected in .NetTiers? What do you recommend should be the approach to fix this?

    • Post Points: 5
Page 1 of 1 (8 items) | RSS
Copyright © 2008 CodeSmith Tools, LLC
Powered by Community Server (Commercial Edition), by Telligent Systems