Кори идет к правильному решению. Я думаю, что объявление конкретных объектов Model для вашего вида делает ОЧЕНЬ простыми и в качестве побочного бонуса облегчает их тестирование.
Таким образом, вместо простой передачи идентификатора в качестве объекта, вы, вероятно, захотите создать свой собственный объект Model для передачи.
Это может выглядеть примерно так:
public class StateDropDownPresentationModel
{
public string DropDownID { get; set; }
public string SelectedState { get; set; }
}
Очевидно, продолжайте добавлять все, что вам нужно, к этой модели, чтобы сделать ваш взгляд правильным.
Тогда вы могли бы назвать это так:
<%= Html.RenderPartial("/someDirectory/SomeControl.ascx", new StateDropDownPresentationModel { DropDownID = "MyID", SelectedState = "IL" } %>
Затем просто убедитесь, что вы поставили галочки для таких вещей, как ID, являющийся нулевым / пустым (что, вероятно, должно выдать ошибку) и SelectedState, являющийся нулевым / пустым.