【问题标题】:ASP.NET Core MVC - how to add button to Home view that executes SQL?ASP.NET Core MVC - 如何将按钮添加到执行 SQL 的主视图?
【发布时间】:2021-06-23 10:06:52
【问题描述】:

我正在使用 .NET 5.0 上的 EF Core 开发 ASP.NET Core MVC 应用程序。数据库是 SQL Server。

此时我有一个用户将测试我的应用。出于测试目的,我想在我的主页视图上有两个按钮,名为“Make User Admin”和“Make User Normal”。我想在我的应用程序中对 SQL 进行硬编码,以便当用户单击“Make User Admin”时,将运行以下 SQL 查询:

UPDATE LoginTable SET IsAdmin = true WHERE Username = "username_here";

当用户点击“Make User Normal”时,会执行:

UPDATE LoginTable SET IsAdmin = false WHERE Username = "username_here";

我不确定如何使用 ASP.NET Core MVC 来实现这一点。我想调用 SQL 查询的方法将放在 Home Controller 中,但我不知道如何在我的代码中生成 SQL 查询,然后单击按钮对数据库执行它。

[这可能是一种不好的做法,但这只是一个简单的解决方案,可以测试一些不会包含在生产版本中的东西 =) ]

我该怎么做?

【问题讨论】:

  • 您可以将按钮单击重定向到执行 SQL 的控制器操作,而不是在 HTML 中硬编码。
  • Vinicius - 我认为可能是这种情况,但我不知道如何在控制器中编写该代码。我找到了一个名为 FromSQLRaw 的方法的文档,但我不知道如何访问该方法。
  • 我现在意识到我的问题的措辞听起来像是我想在视图中专门对 SQL 进行硬编码。我已经修改了这个问题,表明我只是想在我的应用程序中对 SQL 进行硬编码。很好的发现!
  • 在这种情况下,我建议您使用LINQ 来构建您的查询,它非常直观。
  • Check this out,可能会帮助您使用 LINQ。

标签: sql-server asp.net-mvc entity-framework-core .net-5


【解决方案1】:

您可以将按钮单击重定向到执行 SQL 的控制器操作,而不是在 HTML 中硬编码。

要在 C# 中创建查询,您可以使用 LINQ。 您可以查看更多 LINQ 示例here

简单示例:

    //Specify the data source.
    int[] scores = new int[] { 97, 92, 81, 60 };

    //Define the query expression.
    IEnumerable<int> scoreQuery =
        from score in scores
        where score > 80
        select score;

【讨论】:

    猜你喜欢
    • 2021-02-24
    • 2010-10-16
    • 2012-12-07
    • 1970-01-01
    • 2012-05-06
    • 2011-01-03
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    相关资源
    最近更新 更多