Looking at the MVC source code, DropDownListFor uses DropDownList, which uses SelectInternal, which uses ListItemToOption, which wraps calls to TagBuilder. You could modify and include this source to accept extra calls to TagBuilder when the actual option tag is built.