views:

1006

answers:

18

We are developing an ASP.NET application. We retained an outside UI design firm, and for the most part have been very pleased with their work. Their "deliverable" to us was clickable screens -- Visual Studio solutions with ASPX files, images, master pages, etc. The screens were not connected to any data source. They had dummy data so that we could see how the UI worked.

One problem we've run into is that our developers are used to using Visual Studio design mode. The pages we receive from the UI firm have problems sometimes when we pull them up into design mode. The consultant's developers coded these screens without using design mode.

We assumed they'd be using design mode, but this wasn't specified in the contract. Was this too much to assume? Is there a lot of ASP.NET development work that never goes through VS design mode?


Third party edit:

Suggestion: people responding to this question should specify which version of Visual Studio they're using, as Microsoft trashed the code base that was in the VS2005 and earlier designers, and replaced it with the one they purchased when they purchased the Expression products. The two are totally unrelated, and the new one is far better. - John Saunders

+12  A: 

I (and peers) never use Design Mode, for two reasons:

  • I learnt in VS 2003 not to touch Design Mode because your HTML was managled by VS. (Not anymore though since 2008, but once bitten ...)

  • It can take ages to render.

Much quicker to drag-drop from toolbox and hand-code.

Program.X
It took you until VS2003? pffft, most of us were burned by FrontPage or Visaul Interdev a dozen years ago
Neil N
Or dreamweaver *shudder*
annakata
FrontPage...god I had almost managed to make myself forget what that was like.
TheTXI
Annakata: Dreamweaver was a god send compared to frontpage.
TheTXI
Not my recollection - I suspect you didn't work with dreamweaver enough :D Once upon a time I even knew a guy who "developed" in Word...
annakata
annakata: I know secretaries that STILL "develop" in Word. Unfortunately they are all clients of ours.
TheTXI
@NeilNNah, I used Notepad before.@annakata and @TheTXI:I will be sure to pass your thoughts onto a colleague - who swears by DreamWeaver. Not for much longer though, going all Visual Studio very soon. DreamWeaver is for legacy stuff.
Program.X
I havent used DreamWeaver since it would take a layout and chop it into 400 tiny images, all within a cryptic table. Is it still that bad?
Neil N
+24  A: 

The more and more you work with Visual Studio, the less and less you rely on Design Mode. Complicated UIs tend to make the design view look atrocious.

TheTXI
Even in VS2008?
John Saunders
John: Even in 2008 (which I am using right now and having much of the problems I elude to in the answer). I do my entire layout in the markup view, but every once in a while I want to check and see if I get colors right, and when it renders it's all over the place. But if you look at it in an actual web browser it renders out perfectly across the major ones. Go figure.
TheTXI
Interesting. I'm not seeing any of that. Is this with the built-in controls, third-party controls, your own custom controls? Is it happening with just plain HTML?
John Saunders
Most of my current problems have been with pretty standard markup using master pages and external css files, but I have had plenty of problems in the past with third party controls, which I now shy away from heavily.
TheTXI
seconded: it is impossible for an IDE to write better HTML than I can manually, and even less likely for me to trust someone else's drag+drop markup
annakata
It is slightly possible to make the markup look better after a flurry of drag+drop by using Ctrl+Alt+D to format the document. It will at least make a vain attempt at getting everything lined up and indented correctly.
TheTXI
@annakata: I'm confused. When does the IDE ever create HTML for you? Maybe a control generates HTML you don't like, but when does the IDE do so?
John Saunders
For a minute I thought you said Ctrl+Alt+Del and I was going to agree with you...
annakata
John: he's talking about when you drag a control onto the screen and it puts the ASP.NET markup there for you.
TheTXI
Annakata: Agreed +1
TheTXI
@John: for "HTML" read "mark-up". I'm old school like that - it's all HTML *really* :P
annakata
When you drag a control from the toolbox onto the design surface, it creates the markup that the control developer told it to create. Can you give an example where such markup is "bad"? Have you reported this to Microsoft? Remember that the VS2008 designer is a full-body replacement for the old, horrible one. It's again reasonable to report bugs.
John Saunders
Agreed+ ,I don't think new Visual Studio versions would be able to break this taboo from now on. I don't want to use `Design View` even MS changes and serves the best Design View.
Braveyard
+10  A: 

I actually find that ASP.NET developers that do use the designer to be quite rare. The Visual Studio designer is notoriously bad at generating clean markup.

Andrew Hare
Also the other way around. You can use the markup view to put together a great design that works well in all browsers, but when you try to look at it in design view it will be all over the place.
TheTXI
Is bad, or was bad? The old designer was dumped in VS2008 and replaced with one that actually works most of the time. It even renders user controls.
John Saunders
+6  A: 

Many never use it, because of bad past experiences. I have found little trouble with Design mode in VS2008, when using modern controls, which are up to date and have good designer support.

On the other hand, because of the earlier problems, a lot of custom server controls do not have good designer support, so are much less useful in design mode now that the earlier designer code base has been replaced with a good one.

John Saunders
Good point on the custom controls. That was another big problem with a past project. ComponentArt ASP.NET tools like the Splitter were incapable of rendering in the designer.
TheTXI
I'm using Infragistics right now, and though I'm not in love with the controls, the design-mode support is very good. Telerik I love, and the design-mode support is excellent. Design mode actually makes it practical for a third party to create a complicated control, and still make it practical for developers to _use_ the thing.
John Saunders
+4  A: 

I almost never use design mode. It typically creates ugly HTML, and call me anal, but I really like to have clean HTML. If that means hand-coding it, so be it.

bcwood
I'm with you, Anal.
CJM
+8  A: 

I never use design mode, probably because it used to mess my markup so much. Plus I do a lot of dynamic rendering, so there is no point. And I use exclusively CSS for formatting, I don't want VS messing around.

Otávio Décio
+4  A: 

I prefer doing it manually, I like to have control.

If I want to look at the result, F5.

Fredou
+1  A: 

Design mode is getting better and I'd say that it's likely to become more prevalent as time goes on and the design mode tools continue to improve. I design all my components for design mode, but I still do the large majority of my code by hand - it allows greater control of code layout and doesn't end up creating an auto-formatted mess that I then have to dig through to figure out what changes need making. I know that in future my components are likely going to be used by developers that do most of their design by drag/drop and it's easier to cater for that now than have to come back and do it after the event.

BenAlabaster
+2  A: 

I almost never use design mode. For me, the biggest reason is because I learned web design/development in Notepad, so I was used to (and comfortable) working with code. Design mode makes me uncomfortable because I'm never sure exactly what decisions VS will make with regard to HTML, etc. Additionally, I can't imagine that a developer would learn nearly as much about ASP.NET and VB/C# using design mode.

The only time I use design mode is to automatically configure a GridView or something like that like.

alex
A: 

I have no problem working in design mode. One exception is asp:Repeaters, which are not supported, or GridViews which tend to override my manual column definitions.

The other is if VS tries to do a full project scan if I rename a control, and then fails.

devio
GridViews are one of few "complex" controls that actually look good for me when I use the design view. It takes quite a bit of styling to make sure everything is the right size, spacing, color, etc., though.
TheTXI
+2  A: 

Design Mode is taking quite a beating here, but let me point out that it is great for learning about new controls. When you are new to ASP.NET, or are using a new library of controls, Design Mode is a godsend for two reasons:

  1. You can modify properties on the Property Editor and see them reflected immediately. This is particularly true for list-container type controls, where the entire layout may depend on one property. Running your application five times to see all five layouts is very tedious.
  2. Controls with complex behavior (and lets face it, thats why you're using a control, right?) often have a lot of configuration built into their Smart Tags. Notice the little [>] arrow in the top right of the control? Click it. It'll probably help you out big time. This is particularly true for configuring DataSources, whose syntax is very meticulous.

When I was first learning to use Telerik controls, I relied heavily on the Smart Tags they provide, which are very robust and complete. From that, you can see what kind of ASPX markup is generated and learn to work outside of Design Mode. I am a learn-by-doing kind of guy, so I much prefer this approach to looking at the documentation when using something for the first time.

JoshJordan
Actually, I guess that means I use Split Mode, but I was assuming that Design Mode is considered part of Split Mode.
JoshJordan
What do you mean "running your application five times"? I have never used design mode, and all I have to do is change a property and hit refresh in my browser window. I have a hard time believing design mode would be any faster at all.
Joel Mueller
With a Web Application Project, the project has to be built in order to see some changes. Not so much if the changes are purely in markup, but people get into the habit of making a change then pressing F5. With a web site project, and with pure-markup changes, it is only necessary to save the file and press Refresh in the browser.
John Saunders
+2  A: 

Y'know, I never even realised I use the source screens 100% of the time. I usually develop in VS2005.

Whenever I do actually open the design mode, it's by accident, and I try and hit the source view before it renders. I've never been impressed with the design mode, and find it slow as well as adding a lot of unnecessary markup. I also find that intellisense and the properties window mean that I don't need a GUI to develop.

The design mode can also be a nightmare when you're trying to add any nested items. Because we've been developing for a customer using IE6 we've been using tables for formatting so we don't need different DIV definitions. Just clicking in an empty cell can be difficult, and resizing a column can take far too long.

For things like Template Fields in grids, I don't even know how I'd go about setting this up in design view!

Having said that, design mode every time for windows apps!

Hooloovoo
VS2005 or 2008? The two designers are totally different code.
John Saunders
Ah, VS2005. I've not had a decent chance to play around with VS2008. Only Web Expressions, and then I used the Source view because it's much easier to see what objects I'm trying to trace.
Hooloovoo
+1  A: 

Granted I'm doing MVC stuff, but I never use it - I "grew up" with PHP and code editors, and it still does me just fine.

kastermester
A: 

We primarily use the code view. The design mode is quite buggy we've found in VS 2008. XML controls tend to barf random character sets out for some reason, and VS will generally run slow whilst trying to render everything on screen. I mainly use the code-view.

Kezzer
Please report that to Microsoft. As I've been saying, this new designer is a piece of code that wasn't even written by Microsoft. The people who couldn't get the first one to work properly had little or no chance to screw the new one up. Pretend it's v1.0 - give it a chance, and _report the bugs_. They've still got time to get them fixed before 2010 ships. Note also this is the same code base as in SharePoint Designer and Expression Web - they've got extra incentive to be kind to web page designers.
John Saunders
+1  A: 

I'm using two different versions of .NET (2003 & 2005). Some of the forms that were written in 2003 can no longer be edited in 2003 and the installation requires that they be maintained in 2003, so I use KEDIT to edit those forms. Some of the forms in one application are too big for the .NET editor and I prefer a strong editor anyway.

Dave
+2  A: 

I'm using VS2008, and I never use the design view. I find the code view to just be easier and more responsive than the designer.

Tim
A: 

Traditionally WYSIWYG designers produced poor code and render CSS and #INCLUDEd files poorly so they were of limited use, so developers tended to code by hand. In addition, these tools allowed you to go a certain distance without real knowledge of what you were doing, which was fine for web tutorials and personal homepages, but as soon as you wanted an extra degree of control you became unstuck - when meant you had to resort to looking 'under the hood' anyway.

Although tools have improved over time, many developers are so comfortable with hand-coding that they all but forget about the Design View - I certainly can't remember last time I used it. I'm sure there are a number of situations where such tools could be genuinely useful, but we are doing fine without and don't want to be bothered with figuring when & where such features can best be used.

CJM
A: 

Our UI is complicated and it is impossible for us to use design mode with VS2005.

The only time I have touched design mode is to do a quick and dirty prototype or an internal app.

How often do I not use design mode? 99% of the time.

TheJuice