<p>As someone who has spent around 10 years programming web applications with Adobe's ColdFusion, I have decided to add ASP.NET as a string to my bow.</p>

<p>For someone who has spent so long with CF and the underlying Java, ASP.NET seems a little alien to me.  How should I go about getting up to speed with ASP.NET so that I can be truly dangerous with it?  Do I need to know C# at any great amount of detail?</p>

<p>I want to be in a position where I can build basic web apps fairly quickly so I can learn more doing the tricky stuff.</p>

[{'answer_id': 57770, 'author': 'John Sheehan', 'author_id': 1786, 'author_profile': 'https://Stackoverflow.com/users/1786', 'pm_score': 0, 'selected': False, 'text': '<p>Microsoft has a video called <a href="http://www.asp.net/Learn/videos/video-27.aspx" rel="nofollow noreferrer">ASP.NET for ColdFusion developers</a> you may be interested in.</p>\n\n<p>Edit, <a href="http://www.asp.net/learn/videos/video-28.aspx" rel="nofollow noreferrer">here\'s another</a> </p>\n'}, {'answer_id': 57984, 'author': 'Soldarnal', 'author_id': 3420, 'author_profile': 'https://Stackoverflow.com/users/3420', 'pm_score': 3, 'selected': True, 'text': '<p>I\'m only maybe six months down the same path, but here are some thoughts from my experience so far:</p>\n\n<p>The C# language shouldn\'t give you much problem if you have very much experience with Java at all (or even CFScript).  As a reference, though, when I was starting, I found <a href="http://www.csharp-station.com/" rel="nofollow noreferrer">csharp-station</a> a good primer for language basics.  It won\'t help you much as far as the ASP.NET side goes; but it is good for syntax.  More you\'ll be familiarizing yourself with the .NET libraries.  The IDE actually can be an enormous help here.</p>\n\n<p>Here are the three biggest differences I found making the transition:</p>\n\n<ol>\n<li><strong>ASP.NET Server Controls</strong> - In ColdFusion, you really have pretty\ndirect control over the HTML; you\nwork very closely with the page. \nThis isn\'t so much the case in\nASP.NET.  The server controls are\nmeant to relieve you of a lot of the\ntedium, but at a cost of maybe some\ndirect control.  As a CF programmer,\nI\'m very particular about what gets\nactually output to the browser; and\nat first ASP.NET frustrated me\nbecause it spits out a lot of extra\ncode.  Still, the controls are\nreally powerful, and it pays to\nfamiliarize yourself with them. \nForm and validation controls,\nespecially, save you from a lot of\nthe tedium in CF of handling post\nback and validation.  W3Schools\nactually has a decent <a href="https://web.archive.org/web/20080829141718/https://www.w3schools.com/ASPNET/aspnet_refwebcontrols.asp" rel="nofollow noreferrer">list of web\nserver controls</a>.</li>\n<li><strong>The page model</strong> - ColdFusion is pretty agnostic in terms of page\nflow.  ASP.NET is very much geared\ntowards using post backs, and is\nvery event driven.  If you\'re not\nusing a framework with CF (e.g.\nModel Glue), this may be foreign to\nyou.  .NET takes care of handling a\nlot of the post back behavior for\nyou.  Also, not to say that\nColdFusion can\'t be object and\nfunction driven by good use of\nCFC\'s, but ASP.NET really tries to\npush you down the OO path compared\nto CF in my experience.</li>\n<li><strong>Database access</strong> - Using ASP.NET really made me appreciate how\npowerful cfquery really is.  The\ncsharp-station site also has a good\ntutorial on working with the native\n.NET db tools.  I haven\'t worked on\nenough projects yet to start looking\naround for DB access extensions; I\'m\npretty sure Jeff recommended\nsomething that they used for\nbuilding this site, so you might\ncheck that out.  Otherwise, I really\nsuggest you familiarize yourself\nwith the DataSet object.  It\'s\nsomewhat similar to a query object\nin CF, and lets you run query of\nqueries, etc...  Looping over\nqueries in CF is very common, but it\ndoesn\'t happen nearly as much in\nASP.NET because of data binding.</li>\n</ol>\n'}, {'answer_id': 58952, 'author': 'Adam Tuttle', 'author_id': 751, 'author_profile': 'https://Stackoverflow.com/users/751', 'pm_score': 0, 'selected': False, 'text': "<p>ADO.NET is a core concept, and I would really recommend taking a course in it. Having a qualified instructor explain exactly what the differences are between a DataSet, DataReader (and so forth -- there are a <strong>lot</strong> of different data access object types) is <strong><em>invaluable</em></strong>. Not to mention you'll better understand the appropriate time and place to use each; and you can ask questions and get immediate answers in a classroom setting.</p>\n\n<p>I took an ADO.NET class (one night a week, about 8 weeks) at my local university for around $400. Even if my company hadn't paid for it, I would have been happy to, and I can highly recommend anyone trying to learn .NET do the same.</p>\n"}]
['https://Stackoverflow.com/questions/57768', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/4787/']