如何使用 post 方法在 ASP.net 核心 MVC 中显示内容

How do I use post method to display a content in ASP.net core MVC

我对 ASP.net 编程还很陌生,但我仍然熟悉 C# 和 C 语言。我最初被教导如何浏览 ASP.net Razor 页面。它简单易行。但是对于我的最终项目,我继续做了一个 ASP.net 核心 MVC 页面。到现在它都很好并且可以工作(工作原理是相似的),除了后端部分。在 razor 页面中,页面在一起,index.cshtml 和 index.cshtml.cs 在一个地方,但在 MVC 中不是这样。我很难理解如何在我的页面中使用 method="post"

我的剃须刀查看页面代码:

@{
    ViewData["Title"] = "Lorem Ipsum Generator";
    Layout = "/Views/Shared/_Layout.cshtml";
}


<style>
    body {
        /* Margin bottom by footer height */
        margin-bottom: 60px;
        font-family: Kalam, cursive;
    }

    nav {
        height: 100%;
        width: 100%;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        position: absolute;
        background: linear-gradient(135deg, #a8e6cf, #dcedc1, #ffd3b6, #ffaaa5, #ff8b94);
        background-size: 200% 200%;
        animation: rainbow 10s alternate infinite;
    }
    .JK {
        padding: 15px 25px;
        font-size: 24px;
        text-align: center;
        cursor: pointer;
        outline: none;
        color: #fff;
        background-color: #04AA6D;
        border: none;
        border-radius: 15px;
        box-shadow: 0 9px #999;
    }
    .JK:hover {
        background-color: #3e8e41
    }
    .JK:active {
        background-color: #3e8e41;
        box-shadow: 0 5px #666;
        transform: translateY(4px);
    }
</style>

<html>
<body class="text-center">
    <form method="post">
        <h1 style="font-size:26px;">Lorem Ipsum Generator</h1>
        <p>At this page, You will get to generate Lorem Ipsum text, at your desired size and format. Enjoy!</p>
        <p>Enter Number of words to generate: <input id="wordx" type="text" value="10" /></p>
        <p>Enter Number of paragraphs to generate: <input id="parax" type="text" value="2" /></p>
        <p>Include Data and time at the end of the list? (Proxy is allowed!)  <input type="radio" id="Y" name="Dt" />Yes    <input type="radio" id="N" name="Dt" checked="checked" />No</p>
        <p>If you have selected the option "Yes", Please choose a specific time and date: <input type="datetime-local" id="datetimex" /></p>
        <p>Do you want the generator to start with "Lorem ipsum dolor sit amet" (Check the box, only if you want): <input type="checkbox" id="startx" />Yes</p>
        <p><input type="submit" class="JK" value="Generate!" /></p>
    </form>
</body>
</html>

我查看了这个页面:How to call POST method in .NET CORE MVC directly from Razor View? for a solution, but it didn't workout as thought. I am using this Lorem Lpsum generator: https://github.com/EdCharbeneau/Prototyping

任何帮助将不胜感激:)

如果你想知道如何使用form方法将post值传入MVC控制器,你就可以了解什么是MVC了。

MVC 表示模型视图和控制器。

MVC 是基于控制器构建的。每个控制器都会包含很多动作方法。

每个方法都包含自己的视图。

每个视图都有自己的模型。

在 asp.net 核心 MVC 中,我们通常使用表单标签助手来 post 请求后端 MVC 控制器。

例如:

MVC Home 控制器包含一个名为 home 的方法和 post 方法 test

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

    [HttpPost]
    public IActionResult Test(int  i) {

        return Ok();
    }

如果我想post i 参数到后端,我应该修改视图以添加以下代码:

<form asp-action="test" asp-controller="Home" method="post">
    <input id="test" name="i" type="text" />
    <input type="submit" value="test" />

</form>

如果你点击按钮,它会post输入i的值到后端测试方法。如下图:

此外,Lorem Lpsum 生成器似乎是为 ASP.NET MVC 而不是 asp.net 核心构建的。这在 asp.net 5/ asp.net 内核中可能不起作用。