【问题标题】:How to call MVC controller action of a project from view of web API project?如何从 Web API 项目的视图中调用项目的 MVC 控制器操作?
【发布时间】:2018-02-12 01:53:14
【问题描述】:

项目 1 称为 DemoMVCProj.proj。它的主要文件是index.htmlDemoController

class DemoController : Controller {
// ----index action here----
    [HttpPost] public ActionResult CallAction()
    {
        // --some logic here--
        // --return action result--
    }
}

还有另一个名为 DemoMVCWebApiProj.proj 的项目,其中创建了多个 Web API。

还有第三个项目叫做DemoUI.proj,这是一个用于创建视图的AngularJS项目。

ApiControllers 在此项目下使用DataFactorys 调用。

如何从DemoUI 项目中的一个视图调用DemoController(来自DemoMVCProj 项目)?

【问题讨论】:

  • “呼叫控制器”是什么意思?您是否只想通过链接引导用户?这将是一个链接,就像 HTML 中的任何其他链接一样。您可以将 URL 用于要将用户发送到的位置。
  • @Tieson 感谢您的回复。为了向您解释我所面临的问题,DemoMVCProj.proj (project1) => 是内置于 .Net MVC 和 AngularJS 的第三方应用程序。 DemoUI.proj 和 DemoMVCWebApiProj.proj 是我的应用程序。我可以运行这两个项目有一个应用程序(Application1),所以部署没有问题,但是当涉及到 DemoMVCProj.proj(第三方应用程序)代码时,我必须单独运行(Application2)。主要问题是,如果分别运行 Application1 和 Application2,那么我需要购买两个域,我不想这样做。有什么解决办法吗?

标签: c# .net angularjs asp.net-mvc


【解决方案1】:

因为 DemoUI 听起来像是基于角度的,所以您可以使用 $http 来执行任何调用 https://docs.angularjs.org/api/ng/service/$http

如果你的路由正常,你会使用/controller/action的url

如果你只是想在不加载 ajax 的情况下进入 MVC 项目中的视图,只需编写一个带有 href="/controller/action" 的标签

【讨论】:

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