我正在做一些可能会失败(不太可能)但可能会出错的服务器工作。我想阻止用户继续前进,所以我想禁用输入,以便他们必须刷新页面。如何根据 ModelState 错误禁用它。如果存在任何错误,请禁用此框,我只想在最初加载页面时执行此操作。我的问题不一定是如何去做,而是更多的标准和最好的方法是什么。我可以有一个 ViewBag 持有一个真正的错误来禁用它,但不确定这是否是最好的路线,有什么建议吗?
问问题
1134 次
2 回答
3
让我们假设您有一个 POST 控制器操作,该操作执行一些处理并在 ModelState 失败时向其添加错误,这是非常标准的。现在在视图中,您可以:
@Html.TextBoxFor(
x => x.SomeProperty,
!ViewData.ModelState.IsValid ? new { @readonly = "readonly" } : null
)
或编写一个自定义助手来完成这项工作并为您简化事情:
@Html.MyTextBoxFor(x => x.SomeProperty)
如果您需要对多个输入字段进行此行为,这可能会很有用。
于 2012-06-13T12:22:36.000 回答
0
您可以通过 jquery 查看表单是否有效:
if($('form').valid()){
}
于 2012-06-13T05:46:07.670 回答