【问题标题】:ASP.NET MVC Partial View in an AngularJS directiveAngularJS 指令中的 ASP.NET MVC 部分视图
【发布时间】:2014-07-01 06:45:09
【问题描述】:

我目前正在开发一个 ASP.NET MVC 项目,其中添加了一些 AngularJS - 包括一些 AngularJS 指令。 我需要在 AngularJS 指令中添加一个 MVC 局部视图。很明显,

@Html.Partial("_PartialView", {{name}}) 

没用。

到目前为止,我所有的在线搜索都没有提供任何帮助。

知道如何在 Angular 指令中呈现局部视图吗?

谢谢!

【问题讨论】:

    标签: asp.net-mvc angularjs asp.net-mvc-4 angularjs-directive asp.net-mvc-partialview


    【解决方案1】:

    Angular 严格存在于客户端,而 MVC 视图存在于服务器端。这两者不能直接交互。但是,您可以创建一个端点,在该端点中您的局部视图以 HTML 形式返回。 Angular 可以调用此端点,检索 HTML,然后将其包含在指令中。

    类似这样的:

    app.directive("specialView", function($http) {
      return {
        link: function(scope, element) {
          $http.get("/views/partials/special-view") // immediately call to retrieve partial
            .success(function(data) {
              element.html(data);  // replace insides of this element with response
            });
        }  
      };
    });
    

    【讨论】:

    • 感谢您的评论!我听从了你的建议并最终让它发挥作用:)
    【解决方案2】:
    app.directive("myDirective", ['', function () {
     return {
          restrict: 'A',
            scope: {
                foo: '='
            },
            templateUrl: '/home/_myDirectivePartialView',
            }]
        } }]);
    

    只需要使用 templareURL 并指定获取局部视图的路由即可。

    【讨论】:

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