Visual Basic 2005 - designer.vb page problem

G

Goran Djuranovic

Hi all,
I am experiencing a strange thing happening with a "designer.vb" page. Controls I manually declare in this page are automatically deleted after I drop another control on a ".aspx" page.
- Why is this happening?
- Can I disable automatic declaration and have everything be declared manually?
- Any other options to fix this?

Thanks in advance.
Goran Djuranovic
 
S

Steven Cheng[MSFT]

Hi Goran,

Based on your description, I think you're using the VS 2005 SP1's "Web
Application Project" model for your ASP.NET application development,
correct?

If so, the behavior you encountered(manually declcared control member will
be removed after you add new controls onto webform) is the expected
behavior. This is because the VS IDE(webform designer) will always
synchronize the webform aspx tempalte with the codebehind(designer.vb or
designer.cs) whenever there is any change in the aspx template. When
performing the synchronizing, it will regenerate the page partial classes'
member control variables so as to match the aspx template. Therefore, if
you have any member variable that haven't an actual control (with the
identical ID to the member field name) in aspx , that member variable will
be removed. Does this explain your problem?

Also, designer.vb/designer.cs file is not designed to be edited by user
directly, if you have some custom properties/fields what to add on the
page, you should utilize the non-designer codebehind (pagename.vb file),
this file won't be modified by the IDE automatically. Is there any
particular concern that you can not use this?

If you have any further questions, please feel free to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead



==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.



Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.

==================================================


This posting is provided "AS IS" with no warranties, and confers no rights.





--------------------
From: "Goran Djuranovic" <[email protected]>
Subject: Visual Basic 2005 - designer.vb page problem
Hi all,
I am experiencing a strange thing happening with a "designer.vb" page.
Controls I manually declare in this page are automatically deleted after I
drop another control on a ".aspx" page.
 
G

Goran Djuranovic

Hi Steven,
I understand what you are saying, and I kind of suspected that. But, I am
still not sure how the designer "knows" what controls I added manually (they
have the exact same code format as automatically added controls).

Here is what really happened. My project is a converted project (from 2003),
so all the controls used to be declared in code-behind. After conversion,
most of them got moved to designer.vb, but not all?! Now, when I moved the
rest of them to the designer.vb page, they got removed the next time I
changed some thing in .aspx page. When I say removed I mean totally missing
from both code-behind and designer.vb. So, now I have to have my
declarations in two different pages, which really sucks.

My questions:
- Is there a way to disable synchronization between the files (.aspx &
designer.vb)?
- How does the designer know which controls were automatically vs. manually
added (from some file or...)?
- Is there a way to revert to use only code-behind page?

Thanks a lot.
Goran
 
S

Steven Cheng[MSFT]

Thanks for your reply Goran,

For the further questions you mentioned, I'm afraid this synchronize is
necessary in the ASP.NET 2.0 web application project since it help ensure
the ASP.NET 2.0 page be correct (can be compiled correctly at runtime)
because ASP.NET 2.0 use a dynamic compilation model. For the VS 2005 IDE,
I haven't got the exact code logic of the webform designer in vs 2005 and
how to synchronize the html source and codebehind(designer.xx), but I think
it should look for all the toplevel controls in aspx template(which need a
member variable reference in page class) and generate one in the
designer.vb/cs file. Also, so far there is no project model that can work
exactly as VS 2003/ASP.NET 1.1 one in Visual Studio 2005, this is becaues
ASP.NET 2.0 application compilation model has changed and VS 2003/ASP.NET
1.1 one is not adoptable here.

For the problem here, I think there might be some certain control or the
structure of the aspx page template which make the IDE fail to generate all
the control member references. Is the page suffering the problem contains
only standard ASP.NET controls or can you repro the problem through a very
simple page with only standard controls? If so, you can provide me such a
page so that I can also perform some local tests.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
From: "Goran Djuranovic" <[email protected]>
References: <[email protected]>
Subject: Re: Visual Basic 2005 - designer.vb page problem
Date: Fri, 31 Aug 2007 15:28:17 -0400
 
S

Steven Cheng[MSFT]

Hi Goran,

Any further question on this? If so, please don't hesitate to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead

This posting is provided "AS IS" with no warranties, and confers no rights.
 
G

Goran Djuranovic

Hi Steven,
In order to eliminate this problem, I decided to move all the declarations
from .designer.vb page to .vb page. This way the designer doesn't perform
any actions on the existing controls, and any new control will be
automatically put into the .designer.vb page. So, it is basically like
starting from scratch with the .designer.vb page. So far it works good.

Thanks for your help.
Goran
 
S

Steven Cheng[MSFT]

Thanks for your followup Goran,

Glad that you've found a way to make it working now. If you need any
further help later, welcome to post here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.


--------------------
Reply-To: "Goran Djuranovic" <[email protected]>
From: "Goran Djuranovic" <[email protected]>
References: <[email protected]>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top