3

基本的なプロジェクトを作成しましたDemoController

<Export(GetType(IController))> _
<ExportMetadata("controllerName", "Demo")> _
<PartCreationPolicy(CreationPolicy.NonShared)> _
Public Class DemoController Inherits Controller

    Public Function Index() As ActionResult
        Return View("~/Views/Demo/Index.aspx")
    End Function

End Class

このコントローラを持つ私の「プラグイン」プロジェクトでは、パスが/View/Demo/Index.aspx. メインの Web アプリを実行すると、return View行に到達できますが、ファイルが見つからないと表示されます。

これはなぜでしょうか?

これがすべて理にかなっていることを願っています。書式設定が不十分であることをお詫びします。

おそらく、私の .aspx ファイルは Web アプリとは別のプロジェクトにあることに言及する必要があります。すべてを dll にビルドし、それを Web アプリ プロジェクトのフォルダーに入れます。私が得ているエラーは、「ビュー '~/Views/Demo/Index.aspx' またはそのマスターが見つからないか、検索された場所をサポートするビュー エンジンがありません。次の場所が検索されました: ~/Views/Demo/Index.aspx "

4

3 に答える 3

2

プラグインのビューを登録する必要があります

asp.netmvcを使用したフローフローasp.netmvc

したがって、DIを使用してプラグインを開発している場合は、いくつかの点に注意する必要があります-custom View Engine -custom Controller Factory

デフォルトのControllerFactoryはプラグインのコントローラーを解決できません。これは、viewEngineと同じです。そのビューがどこにあるかを、viewEngineに通知する必要があります。

これが例ですhttp://blog.maartenballiauw.be/post/2008/05/20/Creating-a-custom-ViewEngine-for-the-ASPNET-MVC-framework.aspx

于 2012-06-13T20:07:18.317 に答える
2

すべてのビューが別のプロジェクトに埋め込まれているとおっしゃいました。組み込みのビュー エンジンを使用しても機能しません。このスレッドで指定されているように、組み込みのビュー エンジンでビューの場所を指定するか、カスタム ビュー エンジンを作成する必要があります。

于 2012-06-14T03:45:34.110 に答える
1
~/Demo/Index

正しいルートである必要があります

また、そのように返品を修正してください

Return View()

また

Return View("Index")
于 2012-06-13T19:04:42.213 に答える