1

強く型付けされたビューで機能しているASP.NETMVC1.0プロジェクトがありました。ASP.NET MVC 2.0 Preview 2にアップグレードすると、機能しなくなります。

ModelプロパティはObject、要求されたタイプの代わりになりました。

私はこれを持っています:

<%@ Language="C#" 
    Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<TechHelp.Core.Models.Ticket>>" %>

私は得る

CS1579:「object」に「GetEnumerator」のパブリック定義が含まれていないため、foreachステートメントは「object」タイプの変数を操作できません

編集誰もがこれが機能しない理由を知っていますか?

4

2 に答える 2

3

私は指示に従わなかった。

http://aspnetmvc.info/wp/2009/10/upgrading-an-asp-net-mvc-1-0-project-to-asp-net-mvc-2/

于 2009-10-12T19:22:50.147 に答える
0

ASp.Net MVC2(リリースされたバージョン)でも同じことが言えました。強く型付けされたすべてのビューは、ファイルの先頭にある宣言に反して、型「オブジェクト」で機能していると考えていました。ビューが事前にコンパイルされた場合、コンパイルに失敗しました。そうでない場合は、ページにアクセスしたときに失敗しました。

プロジェクトはVS2010とAsp.Net2.0にあり、元々はVS2008とASP.Net1.0からアップグレードされました。新しいAsp.NetMVCプロジェクトには同じ問題はありませんでしたが、コードを新しいソリューションにコピーすると、同じ問題が再び発生しました。

原因は、アップグレードプロセスによってプロジェクトの参照がASP.NetMVC1.0からASP.NetMVC2.0に変更されたが、web.configファイルがASP.NetMVC1.0を参照していたためです。指示に従ってこれらを一致するように更新し、bindingRedirectを追加することで解決しました。

于 2010-06-30T10:31:36.807 に答える