NET MVC中 DropDownList的BUG

最近小弟在.net mvc开发中发现DropDownList中的一个bug。下面阐述bug发生的情况

首先看Controller代码:

        public ActionResult Index()
        {
            List<SelectListItem> country = new List<SelectListItem>();
            country.Add(new SelectListItem() { Text = "中国", Value = "1", Selected = true });
            country.Add(new SelectListItem() { Text = "美国", Value = "2" });
            country.Add(new SelectListItem() { Text = "日本", Value = "3" });
            ViewBag.country = country;
            return View();
        }

 

在看View层代码:

<div>
    <span>国家</span>
    @Html.DropDownList("country", ViewBag.country as List<SelectListItem>, "请选择")
</div>

 

在看结果:

正确结果应该是中国在选中状态。

那是什么原因产生的呢,为什么不在选中的状态呢,

如果两个名称不相同时,结果就正确了。

 

时间: 2024-09-19 00:54:24

NET MVC中 DropDownList的BUG的相关文章

asp.net mvc 中 dropdownlist怎么用???,跪求大神帮我一下,

问题描述 做一个下拉列表框,当打开该页面是,下拉列表框是读取数据库中的数据,显示的,然后修改下拉列表框中的数据,可以保存到数据库中, 解决方案 解决方案二:没用过mvc..不清楚..但我记得mvc是不支持服务器控件的..所以你只能用<select><option>item1</option><option>item2</option><option>item3</option></select>解决方案三:显示

ASP.NET MVC中使用DropDownList地详解

在ASP.NET MVC中,尽管我们可以直接在页面中编写HTML控件,并绑定控件的属性,但更方便的办法还是使用HtmlHelper中的辅助方法.在View中,包含一个类型为HtmlHelper的属性Html,它为我们呈现控件提供了捷径.   我们今天主要来讨论Html.DropDownList的用法,首先从Html.TextBox开始. Html.TextBox有一个重载方法形式如下: public static string TextBox(this HtmlHelper htmlHelper

MVC中当VIEW出现dropdownlist时,在Model视图模块中如何去设置更合理

对于在页面上显示的文本框信息,我们在视图模块中定义成string就可以了,但如果是列表框呢,我们应该如何去定义更合理些呢? 起初,我使用的方法是ViewData,然后在页面中再去强类型一下,如 <%= Html.DropDownList("Type1",ViewData["Type"])%> 这种方法破坏了对象的完整性,使它脱离了与对象的关系,我在做程序开发时,提供下面这种写法: <%= Html.DropDownList("Type1&

Asp.Net MVC中如何使用DropDownListFor

在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model,用户在 DropDownList 中选择指定的值赋给属性ReadyTimeHour public class EricSunModel { public string ReadyTimeHour { get; set; } } Model定义完毕之后,接下来处理Controller的逻辑 [注:这里用了ViewData来记录Dro

ASP.NET MVC中为DropDownListFor设置选中项的方法_实用技巧

在MVC中,当涉及到强类型编辑页,如果有select元素,需要根据当前Model的某个属性值,让Select的某项选中.本篇只整理思路,不涉及完整代码. □ 思路 往前台视图传的类型是List<SelectListItem>,把SelectListItem选中项的Selected属性设置为true,再把该类型对象实例放到ViewBag,ViewData或Model中传递给前台视图.   通过遍历List<SelectListItem>类型对象实例 □ 控制器 public Acti

一起谈.NET技术,在ASP.NET MVC中进行TDD开发

TDD介绍 TDD是一种开发方法,全称是Test-Driven development,中文是测试驱动开发.作者是Kent Beck.首先让我介绍一下三种常见的开发方式: 第一种:先Coding,然后Bug Fix. 第二种:先Coding,然后Unit Test,最后Bug Fix.很显然用了单元测试的比第一种开发方式要好不少. 第三种:就是本文要说的TDD,它的方式和第二种恰恰相反.TDD先设计单元测试,然后再Coding,最后修复Bug.看下图: TDD开发过程可以看成:给制自己制定一个目

ASP.NET MVC中的cshtml页面中的下拉框的使用

ASP.NET MVC中的cshtml页面中的下拉框的使用 用上@Html.DropDownList 先记下来..以做备忘...

Spring MVC中的MultiActionController用法详解

Spring MVC 中 Controller 的层次实在是多,有些眼花缭乱了 .在单个的基础上,再新加两三个叫做丰富,再多就未必是好事, 反而会令人缩手新闻片脚,无从定夺.多数 Controller 都是只完 成一个任务,不过也有一个像 Struts 的 DispatchAction 的那样 的 Conntroller, org.springframework.web.servlet.mvc.multiaction.MultiActio nController,意即在一个 Controller

ASP.NET MVC中实现多个按钮提交的几种方法

有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能. 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较麻烦点. 方法一:使用客户端脚本 比如我们在View中这样写: 代码<inputtype="submit"value="审核通过"onclick='this.form.action="<%=Url.Action("Action1"