In addition to the svick answer, we made a neat change in ASP.NET MVC 3, where underlined properties in them will automatically have underscores converted to dashes.
So, if you have code like this:
<%= Html.ActionLink<WhateverController>(c => c.Previous(), "Previous", new { data_role = "button", data_icon="arrow-l") %>
It displays markup with a dash:
<a href="/Whatever/Previous" data-role="button" data-icon="arrow-l">Previous</a>
Eilon source share