2013-03-15 105 views
0

視圖(RelacionamentoConvidado.cshtml)的SelectItem未選擇項目

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

控制器(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; 
} 

當頁面是加載的選擇項目不是從我的數據庫返回的選擇項目。

我該怎麼做?

+0

如果'selectedItem'是'bool',則返回' 「真」'或' 「假」'字符串值。嘗試檢查那些,或更好地使用'string.Compare(selectedItem,「true」,StringComparison.OrdinalIgnoreCase)'而不是 – whyleee 2013-03-15 18:12:12

+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 2013-03-15 18:28:45

+0

是模型。 foi_emitido'一個'bool'屬性? – 2013-03-15 18:37:18

回答

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" }) 

控制器(EventoConvidadoController)

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