Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor页面-使用多个提交按钮或多个表单处理分页_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# Razor页面-使用多个提交按钮或多个表单处理分页

C# Razor页面-使用多个提交按钮或多个表单处理分页,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我正在我的web应用程序中构建一个相对简单的分页。请注意,这是严格使用asp.net核心的,我将把它作为SPA进行重建 我已经实现了分页,但对两件事感到困惑: 多个提交按钮的工作方式 正确的方法(即,我应该使用多按钮选项或表格,还是完全改变我的方法) 多个提交按钮 <form method="post"> <input type="number" asp-for="PageSize" /> @if (Model.pageParamet

我正在我的web应用程序中构建一个相对简单的分页。请注意,这是严格使用asp.net核心的,我将把它作为SPA进行重建

我已经实现了分页,但对两件事感到困惑:

  • 多个提交按钮的工作方式
  • 正确的方法(即,我应该使用多按钮选项或表格,还是完全改变我的方法)
多个提交按钮

 <form method="post">
        <input type="number" asp-for="PageSize" />
        @if (Model.pageParameters?.PreviousPageLink != null)
        {
            <button type="submit" asp-page-handler="" asp-route-pageNum="@(Model.pageParameters.CurrentPage - 1)" class="btn btn-default">Previous</button>
        }
        @for (var i = 1; i <= Model.pageParameters?.TotalPages; i++)
        {
            <button type="submit" asp-route-pageNum="@i" class="btn btn-default">@i</button>
        }
        @if (Model.pageParameters?.NextPageLink != null)
        {
            <button type="submit" asp-route-pageNum="@(Model.pageParameters.CurrentPage + 1)" class="btn btn-default">Next</button>
        }
    </form>
如何使用
asp route-{value}
属性进行转换?我知道表单默认情况下会发回同一页面,因为没有指定任何操作。但是如何生成formaction属性以使其正确工作呢


多种形式的方法

其基本上与上述方法相同,但使用多种形式:

 @for (var i = 1; i <= Model.pageParameters?.TotalPages; i++)
    {
        <form method="post">
            <button type="submit" class="btn btn-default">@i</button>
            <input type="hidden" asp-for="PageNum" value="@i" />
            <input type="number" asp-for="PageSize" />
        </form>
    }

@for(var i=1;i转换是通过使用asp路由标记助手属性来实现的:

也许这有助于您@MuratCanOĞUZHAN这并不是使用单独的处理程序方法。它都被发布到同一个处理程序。我的问题更类似于asp路由-{value}将按钮元素转换为形状,如果我的初始方法(单个形状)正确。我希望将所有内容都更改为锚定标记,但由于无法处理用户输入的限制,我无法使用它。
 @for (var i = 1; i <= Model.pageParameters?.TotalPages; i++)
    {
        <form method="post">
            <button type="submit" class="btn btn-default">@i</button>
            <input type="hidden" asp-for="PageNum" value="@i" />
            <input type="number" asp-for="PageSize" />
        </form>
    }