gpt4 book ai didi

asp.net - POST URL 在 Razor 页面中缺少处理程序查询字符串

转载 作者:行者123 更新时间:2023-12-05 08:12:46 25 4
gpt4 key购买 nike

我遇到一个问题,我的表单提交 url 没有指向代码隐藏中的处理程序的查询字符串。结果我收到 400(错误请求)错误。

请求 URL 如下所示:http://localhost:60900/EventRename

当它应该是这样的:http://localhost:60900/EventRename?handler=RenameEvent

这是.cshtml

<form asp-page-handler="RenameEvent" method="post">
<div class="form-group">
<label asp-for="RenameDataSource"></label>
@Html.DropDownListFor(x => x.RenameDataSource, Model.DataSources, "-- select data source --")
</div>
<div class="form-group">
<label asp-for="RenameTempEvent"></label>
@Html.DropDownListFor(x => x.RenameTempEvent, Model.RenameTempEvents, "-- select event type --")
</div>
<div class="form-group">
<label asp-for="NewName"></label>
@Html.DropDownListFor(x => x.NewName, Model.EventTypes, "-- select event type --")
</div>
<div class="form-group">
<button type="submit">Start Renaming</button>
</div>
</form>

这可能是相关的,但我也注意到表单数据缺少“__RequestVerificationToken”,它应该默认包含在 Razor 页面中?

澄清一下,我不希望在 URL 中看到表单中的数据。我期待看到一个处理程序引用,以便 Razor 代码隐藏知道在提交表单时运行哪个方法。请参阅此部分:https://learn.microsoft.com/en-us/aspnet/core/razor-pages/#multiple-handlers-per-page提交到 OnPostJoinListAsync 的 URL 路径是 http://localhost:5000/Customers/CreateFATH?handler=JoinList

最佳答案

@using (Html.BeginForm(ActionName, ControllerName, new { handler = "value of your handler" }, FormMethod.Post))

现在您可以提交表单,它会为您提供相同的值。

关于asp.net - POST URL 在 Razor 页面中缺少处理程序查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51147218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com