ASP.NET Razor页面提交按钮没有任何作用

时间:2018-08-30 01:15:25

标签: c# asp.net razor razor-pages

我有这个观点:

@page
@model TreesOnMars.Pages.NewGameModel
@{
    ViewData["Title"] = "New Game";
}

<h2>New Game</h2>

<form method="POST">
    <table>
        <tr>
            <td><label asp-for="Name"></label></td>
            <td><input type="text" asp-for="Name" /></td>
        </tr>
    </table>
</form>

<button type="submit" asp-route-data="@Model.Name">Create Game</button>

使用此页面模型:

[Authorize]
public class NewGameModel : PageModel
{
    public void OnGet()
    {

    }

    public void OnPost()
    {
        Redirect($"Game/{Name}");
    }

    /// <summary>
    /// The name of the game to create.
    /// </summary>
    public string Name { get; }
}

但是,当我单击“提交”按钮时,什么都没有发生-OnGet和OnPost方法都不会被调用。这里发生了什么?如何使提交按钮调用OnPost()?

1 个答案:

答案 0 :(得分:0)

糟糕,我是个白痴-提交按钮必须在表单的内部内!