如何将我的代码从 Program.cs 连接到我的 Razor 页面按钮?

How Can I Connect my code from Program.cs to My Razor Page Button?

我使用 ASP.NET Razor Pages 构建了一个 Web 应用程序,我试图在单击按钮时 运行 我的 progam.cs 代码。我有什么想法可以做到这一点吗?

我创建了按钮并确保它能正常工作,我只是想知道如何将它连接到我在 program.cs

中的代码

Index.cshtml http://google.com'" type="button"> Google

//Index.cshtml.cs public class 索引模型:页面模型 { 私人只读 WebApplication2.Models.AppDbContext2 _context;

    public IndexModel(WebApplication2.Models.AppDbContext2 context)
    {
        _context = context;
    }

    public IList<Job> Job { get;set; }

    public async Task OnGetAsync()
    {
        Job = await _context.Job.ToListAsync();
    }
}

我还没有结果,但我想要 运行 主要方法中的一些代码的按钮,而不是全部

您通常不会尝试从 Web 应用程序中的 program.cs 直接 运行 编码。通常您会使用像 MVC(模型、视图、控制器)这样的模式来处理信息传输。在 MVC 的情况下,您的视图会将信息发送回您的控制器。然后您的控制器可以根据需要使用该信息。 这是关于 .net 核心中 MVC 的 Microsoft 文档的 link。 https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-2.2

此外,它还有助于您熟悉 GET、POST、PUT、DELETE 等 http 动词以及如何使用它们。您可以使用 HTML 表单元素来执行其中的大部分操作。这是一个 Link 表单示例。 https://www.w3schools.com/html/html_forms.asp

另一种处理将数据发送回控制器的方法是使用 JavaScript。它比使用表单稍微复杂一些,但更加灵活。这是 link 到 javascript 获取 API。 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

这是一个简单的例子 -

这是一个简单的表单,link发送到我的客户控制器然后激活位置或日期方法。

<form action="Customer/Location">
    <input type="submit" class="SelectByLocation SelectBy" value="Location" />
</form>

<div id="CustApptTypeSelectScreen" class="SelectApptType">
    <form action="Customer/Location">
        <input type="submit" class="SelectByLocation SelectBy" value="Location" />
    </form>

    <form action="Customer/Date">
        <input type="submit" class="SelectByDate SelectBy" value="Date" />
    </form>

</div>

这是带有 Location() 函数的控制器本身。当您单击位置按钮时,它将转到该功能并 运行 它。

 public class CustomerController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
    public IActionResult Date()
    {
       return View("Date");
    }
    public IActionResult Location()
    {
        doSomethingFunction();
        return View("Location");
    }
}

希望这里有所帮助。 -祝你好运。