ASP.NETMVC-ModelStateisinvalidbutformcontentisaccessible
创始人
2024-09-19 02:01:30
0

在ASP.NET MVC中,当表单的某些字段无效时,ModelState对象会被标记为无效,但表单内容仍然可以被访问。这可能会导致问题,因为无效的字段信息不会被保存或显示给用户,但是没有办法确定哪些字段无效。

要解决这个问题,可以在控制器中手动检查ModelState并将错误信息保存到ViewBag中,然后传递给视图。

以下是一个示例控制器,演示如何手动检查ModelState,并将错误信息保存到ViewBag中:

public class MyController : Controller
{
    [HttpPost]
    public ActionResult MyAction(MyViewModel model)
    {
        if (!ModelState.IsValid)
        {
            foreach (var key in ModelState.Keys)
            {
                if (ModelState[key].Errors.Count > 0)
                {
                    ViewBag.Error = ModelState[key].Errors[0].ErrorMessage;
                    break;
                }
            }
        }

        // if ModelState is valid, continue with action logic...
    }
}

在上面的示例中,我们在控制器的HttpPost操作中手动检查ModelState对象。如果ModelState无效,我们遍历ModelState.Keys并检查单个键的错误数。如果找到一个有错误的键,则将第一个错误消息保存到ViewBag中,并终止循环。

在视图中,我们可以检查ViewBag.Error以获取任何错误消息,并将其显示给用户。

相关内容

热门资讯

第7分钟开挂!微乐游戏小程序辅... 您好:这款微乐游戏小程序辅助器免费苹果版游戏是可以开挂的,确实是有挂的,很多玩家在这款微乐游戏小程序...
八分钟辅助!潮汕馆辅助,大唐山... 八分钟辅助!潮汕馆辅助,大唐山西辅助软件苹果版(玩家必备教程开挂辅助神器);大唐山西辅助软件苹果版简...
两分钟透视!谁有老友广东辅助器... 两分钟透视!谁有老友广东辅助器,wepoker破解是真的还是假的(透视科技开挂辅助安装)1、下载安装...
五分钟辅助!微友联盟辅助下载,... 《五分钟辅助!微友联盟辅助下载,好友赣南新版本挂(重大发现开挂辅助安装)》 好友赣南新版本挂软件透视...
6分钟透视!四川皮皮辅助挂,浙... 6分钟透视!四川皮皮辅助挂,浙江游戏大厅修改数据(总算了解开挂辅助平台);打开点击测试直接进入微信(...
4分钟辅助!水鱼辅助软件下载,... 4分钟辅助!水鱼辅助软件下载,微乐多乐跑作弊(透视透视挂开挂辅助神器);相信小伙伴都知道这个水鱼辅助...
两分钟开挂!花花生活圈怎么开挂... 两分钟开挂!花花生活圈怎么开挂,三哥玩辅助器免费下载(必备辅助推荐开挂辅助神器)您好:三哥玩辅助器免...
1分钟辅助!衢州都莱辅助器,蛮... 1分钟辅助!衢州都莱辅助器,蛮王大厅辅助插件(透视私人局开挂辅助脚本);是一款可以让一直输的玩家,快...
第八分钟辅助!wpk辅助器,斗... 第八分钟辅助!wpk辅助器,斗棋崇阳麻将辅助脚本(玩家必备科普开挂辅助软件);1、点击下载安装,斗棋...
第7分钟辅助!乐胡陇南摆叫辅助... 第7分钟辅助!乐胡陇南摆叫辅助器,决战卡五星开挂方法(每日必看推荐开挂辅助工具);无需打开直接搜索加...