如何将 ng-bind 值传递给 asp.net 核心视图中的变量?

问题描述

我有一个这样的标签<a data-ng-click="showform(@item.CategoryId)">

我在剃刀中有一个变量“catid”... @{int catid; }

我想在 'catid' 中保存值

这是我的 js 代码

       
        app.controller('Result',function ($scope) {           
            $scope.CatId = 0;
            $scope.showform = function (id) {
                $scope.CatId = id;    
            }
        });

解决方法

也许你可以用这种方式。

<input type="hidden" name="catid" id="catid" value="{{Catid}}" />

当您提交表单时,此值会传递给 asp.net 核心。

,

我想使用 CatId 作为 linq 代码并在视图中显示类别名称

你能给我一个示例代码吗?

以下是一个工作示例,您可以参考。

<div ng-app="myApp" ng-controller="Result">
    @foreach (var item in Model)
    {
    <a data-ng-click="showform(@item.CategoryId)">CategoryId is @item.CategoryId</a>
        <br />
    }
    <h2>Name of selected Category is {{CatName}}</h2>
</div>

使用 AngularJS $http 服务发出请求

<script>
    var app = angular.module('myApp',[]);
    app.controller('Result',function ($scope,$http) {
        $scope.CatId = 0;
        $scope.CatName = "";

        $scope.showform = function (id) {
            $scope.CatId = id;

            $http.get("/GetCategoryNameById?catid=" + id)
                .then(function (response) {
                    $scope.CatName = response.data;
                    //your code logic here based on your actual requirement
                });
        }
    });
</script>

我的 GetCategoryNameById 用于测试目的的操作方法

[HttpGet("GetCategoryNameById")]
public IActionResult GetCategoryNameById(int catid)
{
    //your code logic here

    //query data based on received catid

    var category = _dbcontext.Categories.Where(c => c.CategoryId == catid).FirstOrDefault();

    return Ok($"{category.CategoryName}");
}

测试结果

enter image description here