c# - ASP.NET 提交表单 - 找到状态代码 302
问题描述
我有简单的形式。当我使用发布请求提交空表单(用于测试验证)时......
它不显示验证消息,也返回状态代码 302。还生成一些随机查询字符串。像这样的东西:
http://localhost:49852/Events/Create?Type=0&details=System.Collections.Generic.List%601%5BSampleProject.Models.Type%5D
这种状态我从未见过!
@{Html.BeginForm("Save", "Event" , FormMethod.post);}
@Html.ValidationSummary(true, "Please fix these problems.")
// fields...
<input type="submit" value="Save" class="btn btn-primary" />
@{Html.EndForm();}
控制器
[Authorize]
[HttpPost]
public ActionResult Save(EventFormViewModel viewModel)
{
if (!ModelState.IsValid)
return RedirectToAction("Save",viewModel);
//..additional Code.
return RedirectToAction("Index", "Home");
}
解决方案
问题是,如果ModelState
您使用模型数据InValid
重定向到Save
方法,而不是返回带有无效模型数据的当前视图。
所以写你的Save
POST
方法如下:
[Authorize]
[HttpPost]
public ActionResult Save(EventFormViewModel viewModel)
{
if (!ModelState.IsValid)
return View(viewModel);
//..additional Code.
return RedirectToAction("Index", "Home");
}
推荐阅读
- jquery - 从用户的本地系统获取文件的属性(最后修改日期)
- kubernetes - 在 Kubernetes 上调试 colissionCount
- php - 验证失败后如何启用提交按钮控制器-Laravel
- python - rpy2:如何正确地将 NaN 从 panda.DataFrame 转换为 NA 到 R?
- c# - GroupBy 项不相等
- java - 使用流图java 8转换另一个列表
- ios - 流式传输视频通话时无法设置正确的视图
- firebase - 如何删除创建的firestore数据库。?
- reactjs - 如何在 FlatList 中的每个项目上实现 Counter
- apache - Apache 不会释放工作线程 (mpm-event)