c# - 带有指定参数的 Html.BeginForm 使用 GET 而不是 POST
问题描述
我正在使用.NET MVC 创建一个表单,当我在@BeginForm 中传递参数时,无论我做什么,它都会使用get。
这是我到目前为止所拥有的:
@using (Html.BeginForm("QueryIndexUpdate", "Analysis", FormMethod.Post)){}
我尝试删除“,FormMethod.Post”以查看会发生什么,并且仍然使用GET。当我使用不带参数的 BeginForm() 时,它使用 POST,但在控制器中调用了错误的方法(它返回到索引)。
任何想法为什么我可能会遇到这个问题?
控制器
[Route("query/_queryindexfilterpartial")]
[HttpPost, ValidateAntiForgeryToken]
public ActionResult QueryIndexUpdate(QueryFilterViewModel filterModel)
{
if (ModelState.IsValid)
{
filterModel.Field = filterModel.Field ?? 0; filterModel.Item = ListBoxExtension.GetSelectedValues<int>("Item");
}
return RedirectToAction("Query", "Analysis", filterModel);
}
解决方案
我遇到的问题不是因为 BeginForm。BeginForm 工作正常并发布了所有内容,但 RedirectToAction 仅将参数作为 GET 传递,因此将其更改为其他内容,一切都按预期工作。
推荐阅读
- c# - AnimateWindow 导致我的控件边框无法呈现。为什么?
- ios - Simple Pie Chart in Core Animation
- typescript - How to get the type of global Array Object function;
- sql-server - T-SQL - I want sum for each year os sales (Adventureworks2014)
- algorithm - double vertical bar as an alternative to increment operator
- python - Iterate rows and find sum of rows not exceeding a number
- reactjs - eslint hoist never doesn't work in my react js app
- mysql - Delete rows that are in SUM function = 0 and with WHERE condition
- python - optional groups in regex to match different lines
- json - 无法在 ReactJS 中检索 JSON 数据