What is the preferred method of returning data from a class, through JSON and then constructing the HTML on the clientside, or by constructing the HTML in the returned data?
Thanks
That depends on the nature of your application. If you want to build a list, for example, that makes sense to have a web method return a JSON, have a template of the list item and construct the DOM using jQuery or something similar (or even by hands). However, sometimes that may make sense to return an HTML (e.g. if you need to get a themed template of the list item), but then you will once again return to JSON for data.
The MVC framework provides extensive support for producing HTML server side, using controllers and views to give structure. I would suggest some reading on this, http://www.asp.net/mvc.
Your question can pretty much be translated to: "Do I choose ASP.NET WebForms or ASP.NET MVC?" in terms of Microsoft technologies. In my honest opinion WebForms or constructing HTML on the server is a bit outdated and the more modern approach, the MVC, is better in terms of scalability as mentioned above. Delivering JSON to the client allows you to reuse data services across your views (pages) and render different front-end depending on how your application evolves, which the server-side rendered HTML is hard to modify.