无法将带有 [] 的索引应用于 HttpRequest 类型的表达式

Cannot apply indexing with [] to an expression of type HttpRequest

我对编程还很陌生,我正在努力学习 asp.net 网络开发。我正在尝试创建一个表单来接收用户名和密码,然后将其发送到随附的 post 操作方法,但是当我尝试从操作方法请求数据时,它会出现错误消息,'Cannot apply indexing with [] to an expression of type HttpRequest'。我真的不知道我在做什么,如果有人能告诉我我做错了什么,我将不胜感激。谢谢!

这是HTML

@{
    ViewData["Title"] = "Login";
}

<div class="text-center">
    <form method="post" action="Index">
        <label for="username">Username: </label>
        <input type="text"id="username" />

        <label for=" password">Password: </label>
        <input type ="text"id="password" />

        <input type="submit" value="Submit"/>
    </form>
</div>

这是动作方法

        public IActionResult Index()
        {
            return View();
        }

        [HttpPost]
        [ActionName("Index")]
        public IActionResult IndexPost()
        {
            string username = Request["username"];  #This is where the error is happening
            string password = Request["password"];  #Red line under both requests

            -stuff to do-

            return Content("");
        }

ASP.Net 具有模型绑定,可用于自动将 Action 参数绑定到已发布的值,因此您应该能够做到这一点

[HttpPost]
[ActionName("Index")]
public IActionResult IndexPost(string username, string password)
{
    -stuff to do-

    return Content("");
}

错误的原因是 Request 不像字典那样可索引。