dhl: asp.Netmvcの上位バージョンへの移植方法(ゴマ開門プロジェクトの移植に成功)

4918 ワード

私は機械にmvcの正式版をインストールしましたが、元のプロジェクトはmvc preview 5が開発したもので、プロジェクトが1.0に移植された後、以下のように現れました.

コンパイルエラー


説明:このリクエストにサービスを提供するために必要なリソースをコンパイル中にエラーが発生しました.次の特定のエラーの詳細を確認し、ソースコードを適切に変更してください.コンパイラエラーメッセージ:CS 0411:使用法からメソッド「Microsoft.Web.Mvc.LinkExtensions.ActionLink(System.Web.Mvc.HtmlHelper,System.Linq.Expressions.Expression,string)」のタイプパラメータを推論できません.タイプパラメータを明示的に指定してみてください.ソースエラー: 2: <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 3: 4: <div><font color="blue">【<%=Html.ActionLink(" ", "ManagePrizeShow")%>】【<%=Html.ActionLink(" ", "ManagePrizeShow", new { ptype=10 })%>】【<%=Html.ActionLink(" ", "ManagePrizeShowCard")%>】</font></div> 5: <div style="color:red"><%=TempData["message"] %></div> 6: <table>
 

ソースファイル:f:PublishOpenDoorViewsAdminManagePrizeShow.aspx   
行:4
 
原理分析:ASP.NET webアプリケーションが実行されている間に、最初に参照したdllファイルがGAC(windows/assemblyフォルダ)に存在するかどうか(C:WINDOWSassemblyGAC_MSILSystem.Web.Mvc1.0.0.0__31bf 3856 ad 364 e 35)、プログラムファイルのbinフォルダをチェックします.したがって、私のアプリケーションが参照するdllファイルは、指定されたフォルダの場所(GACまたはbin以外)であるにもかかわらず、実行時にGACの下のsystemが呼び出されるため、エラーが発生します.web.mvc.dllファイル.この方法は使いやすいが、asp.Netmvcバージョンはいつもアップグレードされているので、アップグレードしないわけにはいきません.
asp.Netmvcのアップバージョンへの移植の一般的な方法---
1)第1歩:vsを閉じ、元のmvcバージョンのmvc previewをアンインストールする5 2)第2歩:mvcの正式版をダウンロードする3)第3歩:ucenterを修正する.webのwebconfigファイル構成、mvcプログラムセットリファレンスを更新します.
 
4)第4歩:web.configでページを追加するネーミングスペースSystemを構成する.Web.Mvc.Html(サーバによっては環境が異なり、追加しなくてもよい.)
 
もしまだ新聞を出したら:System.Web.Mvc.HtmlHelperにはActionLinkの定義は含まれておらず、最適な拡張方法が再ロードされています.
このように解決する:エラーが発生している.csファイルに:using System.Web.Mvc.Html;
1.0より前にHtmlHelperはmvcの下で、1.0は変更します.mvc.html下システムも追加されましたWeb.Mvc.Ajax;
2009-11-19更新補足: p5 :Html.RenderAction("PrizeList", "OpenDoor"); //
 
           mvc1.0    RenderAction()  ,   RenderPartial()  。 
 

, :Html.RenderPartial("_PrizeList"); 。(http://eduncan911.com/blog/type-safety-with-asp-net-mvc-futures.aspx) , ,Controller , MOdel

 
             RenderAction()  ,   Microsoft.Web.Mvc.dll   :<%@ Import Namespace="Microsoft.Web.Mvc"%>  
 
               dll 。          Microsoft.Web.Mvc。dll    。 
 
            ;http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471 
 
         
 
        Asp.Net MVCのRenderPartialとRenderAction  
 
         
 
         
 
           25 “System.Web.Mvc.UrlHelper”   “ViewContext”   ,           “System.Web.Mvc.UrlHelper”           “ViewContext”(     using         ?) F:\OpenTheDoor\OpenTheDoor\MlgUrlHelper.cs 35 128 OpenTheDoor.web
 
          :      ViewPage  Url   。