【问题标题】:template instead of templateUrl in angularjs and Asp.Net MVC?angularjs和Asp.Net MVC中的模板而不是templateUrl?
【发布时间】:2014-10-01 12:18:35
【问题描述】:

我在Asp.Net mvc 4 中使用AngularJs。我想使用$routeProvider 中的模板而不是templateUrl

我想用这个

$routeProvider.when('/url', { template: '/view/page.html',controller: 'myCtrl' })

不是这个

$routeProvider.when('/url', { templateUrl: '/view/page',controller: 'myCtrl' })

我不想每次需要实现页面时都在控制器中创建方法(仅包含 return PartialView())。有可能吗?

谢谢。

【问题讨论】:

  • 您是想要显示/view/page.html 中的内容还是只是想像打印/view/page.html 那样显示
  • 混合服务器端和客户端路由,甚至尝试将导致很多痛苦。您可能需要重新审视一些 Angular js 基础——特别是要了解在 Angular 中工作时没有服务器端依赖。
  • @NidhishKrishnan 我想实现 /view/page.html 中的内容。
  • 我不想混合他们的路由,我只是想不使用任何网络控制器来呈现页面

标签: asp.net-mvc angularjs angularjs-routing route-provider


【解决方案1】:

如果我正确理解了您的问题,您正在尝试加载 html 模板而无需使用控制器。

为此,只需在 Web 项目中创建一个名为 Templates 的新文件夹,然后在 RouteConfig.cs 中添加一行以忽略此文件夹,如下所示:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("Templates/{filename}.html");
    ...
}

然后在 Angular 中,您可以使用模板 url 并获取您的文件:

$routeProvider.when('/url', { templateUrl: '/templates/page.html',controller: 'myCtrl' })

Angular 将能够使用您的模板,而您不需要控制器。

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 1970-01-01
    • 2013-12-10
    • 2015-11-12
    • 2014-05-26
    • 2014-11-11
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    相关资源
    最近更新 更多