Ok,
I would in normal asp.net use a theme to turn off autocomplete on all text boxes on an entire site. However i cannot do this on MVC because nothing in the theme
MVC does not have server controls like plain old ASP.NET. Therefore no server processing is done on your controls. They are rendered to the client exactly how you type them. Themes are not something you will use in MVC, because they apply to ASP.NET server controls and you won't be using those here. That said, HTML helpers do get processed by the server as the view is rendered. You will need to add autocomplete="off" to the actual HTML control using the html properties overload.
@Html.TextBoxFor(x => x.Something, new { autocomplete="off" } )
Or whatever the actual HTML attribute is that gets rendered when you set autocomplete="off" in the asp.net server control.
EDIT: One option to affect all text boxes would be to create your own Html helper method. Just create an extension method Like this:
using System.Web.Mvc;
using System.Web.Mvc.Html;
public static MvcHtmlString NoAutoCompleteTextBoxFor(this HtmlHelper html, Expression> expression)
{
return html.TextBoxFor(expression, new { autocomplete="off" });
}
Then you can just do:
Html.NoAutoCompleteTextBoxFor(x => x.Something)