Чтобы решить эту проблему, нужно создать список.
Скажите, что ваш статус Pay примерно такой:
public class PayStatus
{
int id;
string StatusName;
}
так что вы бы сделали что-то вроде этого:
IEnumerable<PayStatus> memberInvoiceStatus = new List<PayStatus>(dr.GetPayStatus());
var statusList = new List<SelectListItem>();
foreach(var status in memberInvoiceStatus)
{
statusList .Add( new SelectListItem()
{
Text = status.StatusName,
Value = status.id
Selected = status.StatusName == "MyDefaultStatus" // or some logic that will mark as True the item that you want to be the default selected one.
}
}
Полагаю, вы можете использовать его так же, как и его, но вместо вставки этого:
ViewData["memberInvoiceStatus"] = new SelectList(memberInvoiceStatus, "payStatusId", "payStatusText");
Вы должны пройти:
ViewData["memberInvoiceStatus"] = new SelectList(statusList , "payStatusId", "payStatusText");
хотя я думаю, что было бы проще, если бы вы только добавили список SelectListItem
в данные представления
ViewData["ListOfStatus"] = statusList;
и в представлении вы делаете что-то вроде этого:
<%= Html.DropDownList("Status",ViewData["ListOfStatus"]) %>
, который создаст список с элементом, который вы пометили как выбранный (Selected = true
), как элемент по умолчанию (выбранный).