不存在具有键“Gender”的“IEnumerable<SelectListItem>”类型的 ViewData 项。

不存在具有键“Gender”的“IEnumerable<SelectListItem>”类型的 ViewData 项。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
异常详细信息: System.InvalidOperationException: 不存在具有键“Gender”的“IEnumerable<SelectListItem>”类型的 ViewData 项。
源错误:

行 36:         </div>
行 37:         <div class="editor-field">
行 38:             @Html.DropDownListFor(model => model.Gender, ViewData["Gender"] as SelectList)
行 39:
行 40:             @Html.ValidationMessageFor(model => model.Gender)

源文件: d:\Wo求职\WoJob\Areas\UserInformation\Views\UserCard\Create.cshtml    行: 38

---------------------------------------------------------------------------------------------------------------------------------------------------

解决:

ViewData["Gender"] = GenerateList();    放错位置

public ActionResult Create()

{

ViewData["Gender"] = GenerateList();

     return View();

}

//         // POST: /UserInformation/UserCard/Create

[HttpPost]         [ValidateAntiForgeryToken]

  public ActionResult Create(UserCard usercard)

  {

    // ViewData["Gender"] = GenerateList();

     if (ModelState.IsValid)

    {

      db.UserCards.Add(usercard);

        db.SaveChanges();

      return RedirectToAction("Index");

}

    return View(usercard);

}

时间: 2024-11-23 19:03:20

不存在具有键“Gender”的“IEnumerable<SelectListItem>”类型的 ViewData 项。的相关文章

mvc之验证IEnumerable&lt;T&gt; 类型,多选框验证

原文:mvc之验证IEnumerable<T> 类型,多选框验证 假设我们有这么一种需求,我们要同时添加年级和年级下面的多个班级,我们一般会像下面这种做法. Action中我们这样接收: [HttpPost] public ActionResult CreateGrade(string gradeName, IEnumerable<string> classNames) { return View(); } View中我们一般会这样做: @using (Ajax.BeginForm

hibernate annotation生成uuid主键(id为string类型的)

hibernate annotation生成uuid主键 (2012-02-07 15:18:43) 转载▼ 标签: uuid 主键 注解 杂谈 分类: javaWeb JPA标准方式下,不可以生成uuid类型的主键,但是hibernate提供了一些方式生成uuid主键,具体方式, 1,通过注解方式生成一个generator @GenericGenerator(name="idGenerator", strategy="uuid") 2.主键生成器 @Generat

EF将IEnumerable&lt;T&gt;类型转换为Dictionary&lt;T,T&gt;类型

x 无标题 #region 博客Code {DBEntities}生成EFModel的时候自己命名的 using ({DBEntities} db = new { DBEntities }()) { var que = (from c in db.CollectItem select c).ToList(); List<Dictionary<string, object>> retList = new List<Dictionary<string, object>

MVC HtmlHelper

在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式,微软的MVC就是传统的“请求--处理--响应”的回归. 微软为开发人员快速开发前台页面提供了丰富的HtmlHelper的辅助类,辅助我们快速开发前台页面,也提供了可扩展的接口,前台页面的标签可以做到高度可重 Url.Action  常用 修改路由规则,将 / 修改为 - 后,访问地址变为:http://localhost:11614/Home-Index <a href="/UserInfo/index">

ASP.NET MVC学习---(五)MVC初体验

经过之前n多的铺垫 我们已经大概了解了这个姓m名vc的家伙了 那么今天我们就来体验一把 怎么体验呢? 就来做一个小例子吧~ mvc增删改查的例子 数据库还是之前我们的老朋友 关系图: 表中的数据已填好 T_Users 将就着用着吧,哈哈 现在要求对T_Users表进行增删改查 开搞~ 回到之前新建的mvc项目 在Controllers文件夹下新建一个名为Home的空控制器 当浏览器请求Home下面的Index方法的时候返回什么? 当然是主页面啦 这里我们的主页面就是显示T_Users数据列表 代

扩展方法IEnumerable&lt;T&gt;转换为IList&lt;SelectListItem&gt; ,提供@Html.DropDownList使用

由于在MVC中经常会使用到@Html.DropDownList方法,而该方法接收的是List<SelectListItem> 参数,因此就想着写一个扩展方法,直接把IEnumerable转换为List<SelectListItem>类型,这样使用起来会比较方便 正式进入正文. 1.首先创建下面实体: //水果类 public class Fruit { public string Code { get; set; } public string Name { get; set; }

Redis常用命令(一) 字符串键、散列键

redis是key-value的数据结构,每条数据都是一个键值对 键的类型是字符串,因为默认是字符串所以都不用加引号 注意:键不能重复 值的类型分为五种: 字符串string 散列hash 列表list 集合set 有序集合zset string字符串键 set key value  # 设置的键不存在则为添加,如果设置的键已经存在则修改 set name daiby set key value [NX|XX]  # NX: 如果key不存在则成功,反之失败(不覆盖旧值)! XX: 如果key存

C# 枚举转换selectlistitem 及 MVC @Html.DropDownListFor() 调用详细

  枚举转换方法 /// <summary> /// 根据枚举返回 List<SelectListItem> /// </summary> /// <param name="enumType"></param> /// <param name="withEmpty">true ---请选择--- </param> /// <param name="topValue&q

.NET教程:.NET 面试题之IEnumerable

.NET教程,今天给大家介绍的是:.NET 面试题之IEnumerable ,这是在面试的时候可能会碰到的一道题目,这道题的注解分为了两个部分,这一篇是第一部分! 什么是IEnumerable? IEnumerable及IEnumerable的泛型版本IEnumerable是一个接口,它只含有一个方法GetEnumerator.Enumerable这个静态类型含有很多扩展方法,其扩展的目标是IEnumerable. 实现了这个接口的类可以使用Foreach关键字进行迭代(迭代的意思是对于一个集合