Я тупица, я уже знал, как это сделать:
1) Дали моему значению идентификатора UIHint во ViewModel примерно так:
<UIHint("County")>
Public Property CountyId As Nullable(Of Integer)
2) Изменил мой вид, чтобы просто использовать Editor для этого:
<td class="editor-field">
@Html.EditorFor(Function(x) x.CountyId)
</td>
3) Сделал частичное представление "County.vbhtml" в моей папке EditorTemplates:
@ModelType Nullable(Of Integer)
@Html.DropDownList("", Html.CountySelectList(Model))
4) Возвращено только IEnumerable (Of SelectListItem) от моего помощника, а не весь раскрывающийся html:
Public Function CountySelectList(Optional ByVal selectedId As Nullable(Of Integer) = 0) As IEnumerable(Of SelectListItem)
Dim db As New charityContainer
Dim usvm As New UserSettingsViewModel
Dim CurrentUserRegionID = usvm.CurrentUserRegionID
Dim ddl As IEnumerable(Of SelectListItem)
ddl = (From c In db.Counties Where c.RegionId = CurrentUserRegionID
Select New SelectListItem() With {.Text = c.Name, .Value = c.Id, .Selected = If(c.Id = selectedId, True, False)})
Return ddl
End Function