強く型付けされた部分ビューを作成しようとしています
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Pt.Data.Services>>" %>
<table>
<% foreach (Pt.Data.Services item in Model)
{ Html.RenderPartial("ServiceItem",item); } %>
</table>
コントローラーで:
IEnumerable<Services> Model=null;
using (tl ctx = new tl(Config.ConnectionString))
{
Model = ctx.Services.ToList();
}
return View("List",Model);
これは、参照されているバイナリ アセンブリを使用してプロジェクトで実行する場合にうまく機能しましたSystem.Web.Mvc
。
しかし、バイナリ アセンブリを削除してデバッグ用の MVC ソースを含むプロジェクトを追加すると、厳密に型指定されたビューの認識が停止します。
ViewPage
代わりにのように機能していますViewPage<TModel>
その結果、エラーが発生します:
コンパイラ エラー メッセージ: CS1579:「オブジェクト」に「GetEnumerator」のパブリック定義が含まれていないため、foreach ステートメントは「オブジェクト」型の変数を操作できません。
これがコンパイルされた MVC では機能するのに、ソースでは機能しないのはなぜですか? また、ソースを正しく実行するにはどうすればよいですか?