如何从角度或角度定义的变量/ s调用/返回asp.net mvc视图

Ais*_*ius 1 asp.net asp.net-mvc asp.net-mvc-4 angularjs

    $scope.showDetails = function (dashboard_item) {
    $log.debug("clicked");
    $http({
        url: '/Details/Details',
        method: 'GET',
        data: { name: dashboard_item.FName }
    })
};
Run Code Online (Sandbox Code Playgroud)

这将调用方法,但不会将名称传递给它,并将返回角度控制器.而不是打开/留在新页面.

*onclick="location.href='@Url.Action("Details", "Details", new {name = $scope.dashboard_item.Fname })'"
Run Code Online (Sandbox Code Playgroud)

这将正确打开/返回新的页面/视图,但它无法访问剃刀/服务器端的角度变量.

似乎没有任何好的例子或任何信息如何做这么简单的事情.我知道我应该可能正在使用有角度的路线,但我不知道如何,老实说我宁愿坚持使用asp MVC路由,但此时的任何事情都会做..

TLDR我想在将参数传递给它时返回/调用/打开新的MVC视图

Mar*_*ych 5

你可以使用这样的东西:

<a ng-href="@Url.Action("Details","Details")?name={{dashboard_item.Fname}}">Link</a>
Run Code Online (Sandbox Code Playgroud)

在剃须刀视图中,您正在使用此角度控制器.

UPDATE

要在所有元素上使用它,不仅仅是锚点,您可以在角度控制器中创建此功能:

$scope.go = function ( path ) {
  $window.location.href = path;
};
Run Code Online (Sandbox Code Playgroud)

然后在你的视图中你可以使用这样的东西:

<tr ng-click="go('@Url.Action("CompanyProfileDetails","User")?name=' + profile.Name)">
  *another code here*
</tr>
Run Code Online (Sandbox Code Playgroud)