📜  如何将 id 从视图传递到 asp.net 核心中的控制器 - C# (1)

📅  最后修改于: 2023-12-03 14:53:01.938000             🧑  作者: Mango

如何将 id 从视图传递到 ASP.NET Core 中的控制器 - C#

在 ASP.NET Core 中,我们可以使用路由和 HTTP 请求来将数据从视图传递到控制器。本文将介绍如何将 id 从视图传递到 ASP.NET Core 控制器,并提供丰富的代码示例。

步骤 1: 在视图中创建表单

首先,我们需要在视图中创建一个 HTML 表单,该表单将包含一个文本框或隐藏字段来传递 id。以下是一个简单的示例:

<form method="post" action="/Controller/Action">
    <input type="hidden" name="id" value="@Model.Id" />
    <button type="submit">提交</button>
</form>

在上述示例中,我们使用了一个隐藏字段来传递 id 值。你可以根据具体需求选择适合的字段类型。

步骤 2: 在控制器中接收 id

一旦表单被提交,我们需要在控制器中接收传递的 id。以下是一个使用 ASP.NET Core 的控制器的示例:

public class YourController : Controller
{
    [HttpPost]
    public IActionResult Action(int id)
    {
        // 在此处使用接收到的 id
        // 例如:根据 id 查询相关数据并返回视图

        return View();
    }
}

在上述示例中,我们使用了名为 Action 的方法来接收 id。你可以根据自己的需求在控制器中的任何方法中接收 id。

步骤 3: 注册路由

最后,我们需要注册路由以将请求导向正确的控制器和方法。可以在 Startup.cs 文件中的 Configure 方法中进行路由注册。以下是一个示例:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // 其他配置代码

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller}/{action}/{id?}",
            defaults: new { controller = "Home", action = "Index" }
        );
    });
}

在上述示例中,我们在默认路由中指定了 {id},它将允许我们从 URL 中接收 id。你可以根据自己的需求进行路由配置。

这就是将 id 从视图传递到 ASP.NET Core 控制器的基本步骤。根据具体需求,你可能需要进行更多的处理和验证,例如检查 id 的有效性、处理错误等。希望本文对你有所帮助!

参考链接:ASP.NET Core Controllers