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
所以它不必与之兼容吗?
答案 0 :(得分:0)
它没有用,因为我没有把
<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。