首页 > 解决方案 > 使用模型从 cshtml 调用函数到 cshtml.cs

问题描述

我是 asp.net core 和 Razor 的新手,我正在尝试从 cshtml 页面调用一个函数到他的内部 cs 页面:

<button onclick="@{Model.GetUserInfo(1);};" type="submit">Search</button>

cshtsml.cs

public UserInfo GetUserInfo(int userId)
{
    using (var client = new HttpClient())
    {
        var response = client.GetAsync($"localhost:44322/api/User/user/{userId}{userId}");
        var body = response.Result.Content.ReadAsAsync<UserInfo>().Result;

        return body;
    }
}

我想从 api 中获取信息并显示我收到的信息。

如果我将 { } 放在 Model.GetUserInfo(1); 周围,则使用此代码 它不显示按钮,没有 { } 它只是不编译。

你们中的任何人都可以帮助我吗?谢谢。

标签: c#razorasp.net-core

解决方案


第 1 步 - 您可以编写一个 javascript 函数,该函数将向您的控制器方法发送一个 ajax 请求

第 2 步 - 从此方法返回您想要的数据

假设您的控制器名称是 Home,您可以执行以下操作 -

<button onclick="GetData()" type="submit">Search</button>

function GetData() {
    $.get("/Home/GetUserInfo", function (data) {
        // Here put what do you want from received data
    });
}

推荐阅读