【问题标题】:How Can I Connect my code from Program.cs to My Razor Page Button?如何将 Program.cs 中的代码连接到我的 Razor 页面按钮?
【发布时间】:2019-12-28 01:56:55
【问题描述】:

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

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

索引.cshtml http://google.com'" type="button">谷歌

//索引.cshtml.cs 公共类 IndexModel : PageModel { 私有只读 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();
    }
}

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

【问题讨论】:

  • 欢迎来到 Stack Overflow。您是否尝试运行单独编译的 .exe?目前尚不清楚您要运行的其他代码在哪里。如果你在docs.microsoft.com/en-us/aspnet/core/razor-pages/…987654321@ 之前没有做过 Web 编程,那么 Razor 页面简介是一个很好的起点
  • @BradPatton 是否可以让我的按钮运行一个完整的单独程序编译的 .exe?
  • 你可以,但这通常是一个非常糟糕的主意 - 请参阅stackoverflow.com/questions/48296629/…

标签: c# asp.net razor-pages


【解决方案1】:

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

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

另一种处理将数据发送回控制器的方法是使用 JavaScript。它比使用表单要复杂一些,但可以灵活得多。这是 javascript fetch API 的链接。 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

这是一个简单的例子 -

这是一个简单的表单,它链接到我的客户控制器,然后激活 Location 或 date 方法。

<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");
    }
}

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

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 1970-01-01
    • 2018-10-27
    • 2018-06-18
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 1970-01-01
    相关资源
    最近更新 更多