I found the solution and i will post here, maybe somebody else will need.
The key is to averride a function inside widget .cs file, be carefull, not in designer.
protected override void Render(HtmlTextWriter writer) RenderContents(writer);
I think that's actually an ASP.NET issue, rather than a Sitefinity issue, and that 'fix' is typical for ASP.NET controls.
Personally, I avoid using the simple ASP.NET controls where ever possible, and just add runat="server" and clientmode="predictable" to standard html elements, when I need code-behind access.
Of course, there are still times when you need those simple ASP.NET controls, but most times you don't.