zoukankan      html  css  js  c++  java
  • 报错:具有键"..."的ViewData项属于类型"...",但它必须属于类型"IEnumerable<SelectListItem>"

    报错:具有键"..."的ViewData项属于类型"...",但它必须属于类型"IEnumerable<SelectListItem>"

     

    □ 背景分析

    MVC控制器中有2个方法,一个是用来显示添加视图,另一个是用来接收添加数据。

    public ActionResult Add()
    {
        ViewData["o"] = 类型为List<SelectListItem>的集合实例;
        return View();
    }
     
    [HttpPost]
    public ActionResult Add(SomeViewModel model)
    {
        if(ModelState.IsValid)
        {
            //TO DO
        }
        else
        {
            return View(model);
        }
    }

     

    □ 解决方法

    控制器方法Add()在接收视图传来的view model,在验证失败的情况下,返回到显示添加的视图,这时,同样需要把类型为List<SelectListItem>的集合实例传递到前台视图。正确的写法是:

    [HttpPost]
    public ActionResult Add(SomeViewModel model)
    {
        if(ModelState.IsValid)
        {
            //TO DO
        }
        else
        {
            ViewData["o"] = 类型为List<SelectListItem>的集合实例;
            return View(model);
        }
    }
  • 相关阅读:
    HDU 1698 Just a Hook (线段树模板题-区间求和)
    spring定时任务详解(@Scheduled注解)
    spring定时任务(@Scheduled注解)
    java反射实现接口重试
    微信开发者工具在线调试
    消息队列应用场景
    Redis、Memcache和MongoDB的区别
    下拉框多选实现回显及sql
    MySQL 中 You can't specify target table '表名' for update in FROM clause错误解决办法
    catch异常
  • 原文地址:https://www.cnblogs.com/darrenji/p/3680558.html
Copyright © 2011-2022 走看看