Since you're using VB.NET, you need to use VB.NET syntax:
@Html.DropDownListFor(Function(model) model.StateId, New SelectList(ViewData("StateList"), "Id", "Name"), "--Select--", New With { .Id = "Country" })
Anonymous Types (Visual Basic) | Microsoft Docs[
^]