我有一个 JQuery Mobile 应用程序,我正在尝试创建一个填充下拉列表的视图。我在控制器中创建模型的 IEnumerable 列表,然后将其传递给视图。该视图永远不会呈现,只是说“错误加载页面”(我假设来自 J-Query)。我什至在 Layout= 行的视图顶部放置了一个断点,但它没有到达那里。
这是我的控制器:
public virtual ActionResult List()
{
string customerCode = RouteData.Values["id"].ToString();
var csdDB = new DBContext(customerCode);
// Return all locations
IEnumerable<SelectListItem> sites = csdDB.Sites
.OrderBy(o => o.SiteName)
.AsEnumerable()
.Select(s => new SelectListItem
{
Text = s.SiteName,
Value = s.SiteID.ToString()
});
return View(sites);
}
这是视图:
@{
ViewBag.Title = "Site";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@model IEnumerable<Models.Site>
<div data-role="content">
<ul data-role="listview" data-divider-theme="b" data-inset="true">
<li data-role="list-divider" role="heading">
Locations
</li>
@foreach(var site in Model)
{
<li data-theme="c">
<a href="~/Site/SiteMenu/@site.SiteID" data-transition="slide">
@site.SiteName - (@site.ICAO)
</a>
</li>
}
</ul>
</div>
此页面从前一页面调用,如下所示:
<li data-theme="c">
@Html.ActionLink("Sites by HTML.ActionLink", "List", "Site", new { id = @ViewBag.CustomerCode }, new
{
data_native_menu = "false",
name = "",
data_theme = "c"
})
</li>
DBContext 是使用实体框架创建的,顺便说一句。我还检查以确保“站点”列表正在被填充,并且确实如此。
关于为什么视图没有加载的任何想法?