public IActionResult OnPost() {
if (ModelState.IsValid) {
\\ save it
}
return Page();
}
在我的剃刀代码中,我已经检查了模型是否有效。这样可以正常工作,如果模型有效,它会保存,如果没有,它会转到return Page();
,这就是我能找到的所有文档所说的。
问题是如果模型无效,return Page();
会重新加载页面,因此我丢失了所有输入的值,并且没有从模型加载任何验证消息。
我应该使用什么来代替return Page();
来显示验证消息并保留无效信息?
-------------------使用ViewModel编辑
所以这就是我的OnPost
[BindProperty]
public theVM.ModelinVM theVMInstance { get; set; }
public IActionResult OnPost() {
if (ModelState.IsValid) {
\\ save it
}
return theVMInstance;
}
这是视图模型
public class theVM {
public IQueryable<originalModel> ModelinVM { get; set; }
}
return theVMInstance;
现在说Cannot implicitly convert type 'theVM.ModelinVM' to 'Microsoft.AspNetCore.Mvc.IActionResult'.
它期待一个IActionResult
所以它不是必须兼容吗?
它没用,因为我没有放
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
在.HTML页面的顶部。
我不需要OnPost()方法,jQuery为我做了ejob。