我將存儲過程傳遞到我的控制器,然後我想將其發送到我的視圖並將存儲過程的每個條目記錄到下拉菜單中。我的問題是,當我將數據傳遞到下拉菜單時,我得到的只是System.String []而不是實際值。將數據從SQL傳遞到MVC數組System.String []錯誤
控制器:
public ActionResult Dropdown()
{
ViewData["ids"] = db.uspGetAllEventIds().ToArray();
return View();
}
查看:
@model IEnumerable<Heatmap.Models.Event>
...
<body>
<div>
<select name="EventId">
@for (var i = 0; i < 6; i++)
{
<option>@ViewData["ids"]</option>
}
</select>
</div>
</body>
現在我只有一個簡單的for
循環設置爲6,但我想通過我的整個ids
陣列迭代(它應該填寫從db.uspGetAllEventIds()
的值並將它們輸入到我的下拉菜單中。我應該如何設置我的循環來執行此操作?
@Icarus我傳遞來自控制器陣列進行查看。我很困惑你在哪裏迷路。也許我可以解釋更多? –
如果viewdata是一個列表,是不是應該通過索引'@ViewData [「ids」] [i]'來訪問? – lloyd
@lloyd是的,這也是我的想法。我不記得確切的原因(自上週三以來我沒有看過它),但它是編譯器錯誤或返回System.String []。 –