我正在根据Razor Pages MVVM-https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/?view=aspnetcore-2.1
的教程制作简单的表格问题是“索引”页面上的元素为route参数使用了不同的格式,而我最终得到的URL是/ StockIndexMonths / 2?StockIndexId = 1 / 2和StockIndexId = 1都是相同的参数
有人可以告诉我强制使用相同参数格式的首选方法吗?我正在努力让Razor Pages做到“神奇”
Index.cshtml
@page "{StockIndexId?}"
@model Investments.Pages.StockIndexMonths.IndexModel
@{
ViewData["Title"] = "Index";
}
<h2>Index</h2>
<form>
<select asp-for="StockIndexId" asp-items="Model.StockIndexNameSelect" onchange="this.form.submit();"></select>
</form>
<a asp-page="Create" asp-route-StockIndexId="@Model.StockIndexId">Create New</a>
<table class="table">
...
答案 0 :(得分:0)
更改表单标记,使其使用POST
方法:
<form method="post">
当前,由于未指定method
,因此默认情况下使用GET
,它将表单值作为查询字符串值附加到URL。这就是为什么您看到自己看到的东西。