I have looked through some various answers related to this but all were for mvc3 or not for Razor.
I have a single page that has multiple forms, in partial views, th
I realise this is somewhat late but I just ran into this problem myself... I thought "there has to be a way to use the EditorFor and still override the ID"... there is. Do the following and your input has an ID and Name of whatever you like.
@Html.EditorFor(model => model.myField, null, "txtMyField")
Hope this helps and hope it helps other people too.
Note: from what I understand, the reason this is typically not done is to avoid other, dynamically created controls ID's and Names from conflicting.