2016-05-27 67 views
-1

我已經對這個錯誤了一會兒和ienumerable物體阻擋有人可以請幫助我的錯誤是在描述。有型的無ViewData的項目「的IEnumerable <SelectListItem>」具有關鍵「BranchQuickChange」

HTML:

@model IEnumerable<DatabaseDAL.Models.WAGTripHdr> 
<script type="text/javascript" src="~/Scripts/jquery-1.9.1.min.js"></script> 
<script type="text/javascript"> 
$("select#BranchQuickChange").change(function() { 
    var branchName = $("select#BranchQuickChange option:selected").text(); 
    alert(branchName); 
    window.location.href = '@Url.Action("QuickBranchChange", "TripSheets")?branchName=' + branchName; 
}); 
</script> 
<div class="row-fluid"> 
<div class="span4" style="margin-top: 15px"> 
    @if (User.IsInRole("Administrator") || User.IsInRole("SuperUser")) 
    { 
     <strong>Quick Switch</strong> @Html.DropDownList("BranchQuickChange",ViewBag.CompanyList as SelectList) 
    } 
</div> 

控制器:

{ 
     List<WAGBranch> listWagBranch = WAGBranchRepository.GetAllBranches(CompanyEnum.WAG).OrderBy(i => i.BRName).ToList(); 
     List<string> listCompany = new List<string>(); 
     foreach (WAGBranch branch in listWagBranch) 
     { 
      listCompany.Add(branch.BRName); // + " - " + branch.Branch); 
     } 
     //listCompany.Insert(0, "WAG HEAD OFFICE - WAG"); 
     if ((string)selected == "") selected = null; 
     ViewBag.CompanyList = new SelectList(listCompany, selected); 
    } 

型號:

[TableNameAttribute("WAGTripHdr")] 
public class WAGTripHdr : SQLSelectUpdateInsertHelper 
{ 

    public string DebName { get; set; } 

} 

等待一些建議。通常當傳遞給DropDownListFor集合爲空時

回答

0

這個錯誤。作爲回退,幫助器試圖在以該屬性命名的成員之下找到ViewBag中的選項,即ViewBag.BranchQuickChange。當它沒有找到可用的東西時,它就放棄了,你會得到你引用的異常。

也就是說,看起來你事實上在你的行動中設置ViewBag.CompanyList。另外,它被設置爲SelectList實例,因此在視圖中將其重新轉換爲SelectList應該實現該值。我能想到的唯一的事情是,可能與您在此發佈的操作不同的操作正在加載。特別是,如果您有此操作的GET和POST版本,請確保均爲設置爲ViewBag.CompanyList。您可能只會將該行添加到一個而不是另一個。

相關問題