I've been working on ASP.NET for just over a year now, and I've come upon an interesting thought that I'd like feedback on.
I've noticed that Literal controls save their text value in the viewstate. This seems somewhat odd to me, as it effectively ensures that whatever content is stored in the Literal control will be duplicated (once on the rendered page and once hidden within the viewstate).
As an alternative, I've begun using generic html controls with a runat="server" and the innerhtml/innertext properties. This seems to me to to achieve the same thing as literal control without the viewstate bloat provided you need to wrap your content within a tag anyway. Before I go through and eliminate as many of the Literals in my project as possible, though, I'm wondering if there is there any drawback that I'm not thinking of. Thoughts?