2013-03-15 3 views
0

View (RelacionamentoConvidado.cshtml)SelectItem не выбирает пункт

@Html.DropDownList("Foi_Emitido", (IEnumerable<SelectListItem>)ViewBag.Foi_Emitido, @SRSVP.Util.Constante.HTML_HELPER_DROPDOWN_EMPTY_VALUE, new { @class = "input-small" }) 

Controller (EventoConvidadoController)

ViewBag.Foi_Emitido = new SelectList(Common.SimNao(model.foi_emitido), "Value", "Text"); 

Common.cs (статический класс)

public static List<SelectListItem> SimNao(object selectedItem) 
{ 
    List<SelectListItem> _returnList = new List<SelectListItem>(); 
    SelectListItem _mList = new SelectListItem(); 

    _mList = new SelectListItem() { Text = "Sim", Value = "true", Selected = selectedItem == null ? false : selectedItem.ToString().Equals("true") }; 
    _returnList.Add(_mList); 

    _mList = new SelectListItem() { Text = "Não", Value = "false", Selected = selectedItem == null ? false : selectedItem.ToString().Equals("false") }; 
    _returnList.Add(_mList); 

    return _returnList; 
} 

Когда страница загруженный элемент select не выбирает элемент, возвращающийся из моей базы данных.

Как это сделать?

+0

Если 'selectedItem' является' bool', то он возвращает ' "True" или' "Ложные" 'строковые значения. Попробуйте проверить их, или лучше использовать 'string.Compare (selectedItem," true ", StringComparison.OrdinalIgnoreCase) вместо – whyleee

+0

Также посмотрите на эту ссылку, которая объяснит, когда использовать' .Equals() 'vs' = = 'http://blogs.msdn.com/b/csharpfaq/archive/2004/03/29/when-should-i-use-and-when-should-i-use-equals.aspx – MethodMan

+0

Является« моделью. foi_emitido' свойство 'bool'? –

ответ

1

Это часто случается, когда список выбора и связанная переменная имеют одно и то же имя - Foi_Emitido. Попробуйте переименовать ViewBag SelectList

@Html.DropDownList("Foi_Emitido", (IEnumerable<SelectListItem>)ViewBag.Foi_Emitido_SelectList, @SRSVP.Util.Constante.HTML_HELPER_DROPDOWN_EMPTY_VALUE, new { @class = "input-small" }) 

Controller (EventoConvidadoController)

ViewBag.Foi_Emitido_SelectList= new SelectList(Common.SimNao(model.foi_emitido), "Value", "Text");