如何从Angular或Angular定义变量/s调用/返回ASP.NET MVC视图


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

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

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

这将正确打开/返回新页面/视图,但是它无法访问Razor/Server端的Angular变量。

似乎没有任何好的示例或任何信息如何做这样简单的事情。我知道我应该使用角路线,但是我不知道如何和老实说我宁愿坚持使用ASP MVC路由,但是此时任何事情都会做。

tldr我想返回/呼叫/打开新的MVC视图,而将参数传递给它

您可以使用类似的东西:

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

在您使用此角控制器的剃须刀视图中。

update

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

$scope.go = function ( path ) {
  $window.location.href = path;
};

然后在您的视图上您可以使用类似的东西:

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

,由于剃须刀在服务器端执行不可能从客户端传递新对象,但您可以通过url params

传递。
<a href="@Url.Action("Details","Details")?name={{dashboard_item.Fname}}">Your link here </a>

最新更新