【问题标题】:How to call one View in another MVC application如何在另一个 MVC 应用程序中调用一个视图
【发布时间】:2015-12-17 06:46:04
【问题描述】:

我正在尝试创建两个 MVC 应用程序,在第一个应用程序中创建了一个视图并编译了应用程序,在第二个应用程序中我添加了第一个应用程序的 dll。 在 routeconfig.cs 文件中添加了以下行。

“第一个应用程序的结构”

应用程序1

 Controller
       Home(Actionmethod is Home)
       View
         Home.cshtml

 Application2: references:Application1

_layout.cshtml.

试图访问url: localhost/Home

routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
        namespaces: new[] { "TestApp.Controllers" }

我正在尝试从第一个应用程序调用视图,但它无法从第一个应用程序中找到视图,任何人都可以告诉我是否需要添加任何其他配置才能访问第一个应用程序的视图.

提前致谢。

【问题讨论】:

    标签: asp.net-mvc-4 asp.net-mvc-5 asp.net-core-mvc


    【解决方案1】:

    请解释为什么将它们放在两个独立的 mvc 应用程序中。

    app 1.
       controller
       view
       model
    app 2. 
       controller
       view
       model
    

    我不确定是否将视图编译到 .dll 中。那么你是如何访问它们的呢?

    您还需要为您的视图注册搜索位置...我假设您使用的是剃须刀引擎。

    http://theshravan.net/blog/configure-the-views-search-locations-in-asp-net-mvc/

    Can I specify a custom location to "search for views" in ASP.NET MVC?

    基本上你需要为你的视图注册搜索位置,默认是

    App
       Views
          [ViewName]Controller
    

    我对引用 .dll [App1] 的应用程序有强烈的感觉 没有任何内容可以告诉它也在 App2 中查找视图。

    希望这是有道理的 ;-)

    【讨论】:

    • :我不确定,我浏览了现有的应用程序,我从中了解到的是,在第二个应用程序中他们有布局,从第一个应用程序我必须访问视图。所有视图(页面)都来自第一个应用程序,只有在第二个应用程序背景中才会出现,如果我没有使用正确的术语,我很抱歉,我刚开始使用 MVC。在这两个应用程序中都是如此,它使用的是剃刀视图引擎。
    • 如果您是 MVC 新手,那么为什么要使用两个应用程序?只需使用一个,直到您对拆分应用程序更加满意。为了让人们更好地回答你,解释为什么有两个应用程序是有意义的。只要有一个 MVC 应用程序......无论如何,我确信你的问题是你的视图位置没有被重新注册......你可以通过 .Dll 访问你的控制器,但是你是如何连接它的。我可以看到您所做的路由可能正确/不正确,但它仍然无法处理视图。请发布您的应用程序的结构。然后是哪一个引用了 dll……或者您是否将项目包含在其他解决方案中。
    • 我没有机会去,一些身体开始离开那里,并从那里自行研发,不去。让我看看你推荐的文章。谢谢,让我添加更多代码
    • 我提供的那些链接应该会有所帮助......他们解释了如何设置自定义视图位置......,如果你有两个应用程序,那么应该有两个不同的视图源......除非我缺少一些东西。
    【解决方案2】:

    尝试在您的项目中创建区域并创建所需的控制器和视图,而不是访问另一个项目的视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多