首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何动态预选ASP.NET MVC中的html.DropDownlist中的项目

在ASP.NET MVC中,可以使用ViewBag或者ViewModel将数据传递到视图中,然后使用Html.DropDownListFor()方法动态预选项目。

首先,在控制器中将数据传递到视图中,例如:

代码语言:csharp
复制
public ActionResult Index()
{
    ViewBag.Items = new List<SelectListItem>
    {
        new SelectListItem { Text = "Item 1", Value = "1" },
        new SelectListItem { Text = "Item 2", Value = "2" },
        new SelectListItem { Text = "Item 3", Value = "3" },
    };
    return View();
}

然后,在视图中使用Html.DropDownListFor()方法动态预选项目:

代码语言:csharp
复制
@Html.DropDownListFor(m => m.SelectedItem, (IEnumerable<SelectListItem>)ViewBag.Items, "Select an item")

在上面的代码中,m => m.SelectedItem是指将选中的值绑定到模型的SelectedItem属性上,而(IEnumerable<SelectListItem>)ViewBag.Items是指从ViewBag中获取SelectListItem集合。

如果要预先选择某个项目,可以在控制器中将该项目的值赋值给模型的SelectedItem属性,例如:

代码语言:csharp
复制
public ActionResult Index()
{
    ViewBag.Items = new List<SelectListItem>
    {
        new SelectListItem { Text = "Item 1", Value = "1" },
        new SelectListItem { Text = "Item 2", Value = "2" },
        new SelectListItem { Text = "Item 3", Value = "3" },
    };
    var model = new MyModel();
    model.SelectedItem = "2";
    return View(model);
}

在上面的代码中,将SelectedItem属性设置为"2",则视图中的下拉列表将会预先选择"Item 2"项目。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVCActionFilter是如何执行

ASP.NET MVC四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外操作。...本篇文章主要讲述多一个应用到相同Action方法上ActionFilter执行机制。[本文已经同步到《How ASP.NET MVC Works?》...在通过Visual StudioASP.NET MVC项目模板创建空Web应用我们定义了如下三个ActionFilter(FooAttribute、BarAttribute和BazAttribute...方法抛出异常,整个ActionFilter链又会如何执行。...如果异常是在非链头ActionFilterOnActionExecuted方法抛出,处理流程与此类似。 我们不妨举例说明Action链在执行过程对异常处理。

1.5K70

MVC项目开发那些用到知识点(MvcContrib分离ASP.NET MVC项目)

前言 在http://www.cnblogs.com/aehyok/archive/2013/04/07/3006438.html这篇随笔,我简单介绍了,asp.net mvc3.0自带Areas...MvcContrib可以将一个MVC项目所有内容(包括Views,Controllers,Scripts等)都编译到一个dll里面。...如此一来,该MVC项目就可以作为一个“插件(或部件)/Plugin(or Widget)”为其他项目使用,具有很强重用性。...正题     1.首先新建一个ASP.NET MVC3.0项目MyPortable(前台项目),项目模板选择Internet Application,视图引擎选择Razor。   ...2.然后再在解决方案添加另外一个ASP.NET MVC3.0项目MyPortable.Admin(后台项目),项目模版选择空项目,视图引擎还是选择Razor。

55530

MVC项目开发那些用到知识点(Asp.Net Mvc3.0 Areas)

前言    我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样做法有许多优点,比如可测试,易扩展等等。...但是在实际开发,随着项目规模不断扩大,Controller控制器也随之不断增多。...因此,在一些场景下,如果能把与某功能相关文件分离到一个独立项目中是非常有用Asp.Net MVC提供了Areas(区域)概念达到这一目的。   ...controller = "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults );   但是我们如何项目中使用呢...当项目规模较大时候,比较好开发方式是将不同功能模块按需要独立到不同项目里面,最后再整合成一个整体。这样,每一个项目可以独立开发,测试和发布。至于进而优化,我会抽时间继续补上。 示例代码

70930

MVC项目开发那些用到知识点(Asp.Net Mvc3.0 Areas)

前言    我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样做法有许多优点,比如可测试,易扩展等等。...但是在实际开发,随着项目规模不断扩大,Controller控制器也随之不断增多。...因此,在一些场景下,如果能把与某功能相关文件分离到一个独立项目中是非常有用Asp.Net MVC提供了Areas(区域)概念达到这一目的。   ...controller = "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults );   但是我们如何项目中使用呢...当项目规模较大时候,比较好开发方式是将不同功能模块按需要独立到不同项目里面,最后再整合成一个整体。这样,每一个项目可以独立开发,测试和发布。至于进而优化,我会抽时间继续补上。 示例代码

72910

asp.net mvc 简单项目框架搭建(二)—— Spring.Net在Mvc简单应用

摘要:上篇写了如何搭建一个简单项目框架上部分,讲了关于Dal和Bll之间解耦相关知识,这篇来把后i面的部分说一说。 上篇讲到DbSession,现在接着往下讲。...首先,还是把一些类似的操作完善一下,与Dal层相同,我们同样可以把Bll层某些使用广泛类似的操作封装到基类,另外,同样要给Bll层添加接口层。...耦合度很高,那么如何降低这个耦合度呢,再次使用工厂方法吗,不不不,那好像太麻烦了。...2.添加相关引用 首先,在程序目录下package文件夹新建 Spring.Net文件夹,然后导入如下文件: ? ? 导入如下文件: ? ? ? ? 在Ui项目下添加引用: ?...将 MvcApplication 由继承 System.Web.HttpApplication 改为 Sring.Web.Mvc.SpringMvcApplication . 4.在UI项目下新建Config

1.1K20

ASP.NET MVC5Model验证

Model验证是ASP.NET MVC重要部分,它主要用于判断输入数据类型及值是否符合我们设定规则,这篇文章就介绍下ASP.NET MVCModel验证几种方式。...注意,Age属性上并未标注RequiredAttribute,却依然提示Age字段必须,这是因为Age是int类型,int类型不能为null,对于不能为null类型,ASP.NET MVC默认为是必须...除此之外,ASP.NET MVC还会帮助我们进行数据类型验证,如,若在年龄一栏输入非整数,那么验证将不会通过,且会提示数值不合法。...除了我们自己手写js代码外,ASP.NET MVC也提供了前端验证方法,要启用ASP.NET MVC提供前端验证方法需要在页面引入三个js文件: jquery-1.10.2.min.js(也可以是其它版本...引用文件之后,运行程序,然后查看页面源代码,可以看到forminput标签多出了 data-val 属性以及其它和数据注解相关属性。 对于验证失败信息,我们需要对用户进行相应提醒。

1.5K20

MVC架构在Asp.net应用和实现

那么如何让 Web 应用程序用户界面功能实现模块化,以便可以轻松地单独修改各个部分呢?面向对象设计模式是经验总结,MVC架构可以很好地解决上述问题。...本文首先论述了MVC架构原理、优缺点以及它所能为Web应用带来好处。并结合作者在“成都微软技术中心”实习期间,研发项目的经验。介绍了一种在Asp.net环境下实现方式。...在个人能力参差不齐团队开发,采用MVC开发是非常理想。 3 MVCAsp.net原理及实现 Asp.net提供了很好实现这种模式类似环境。...每个Asp.net页面都有一种机制,将页面部件所要调用方法在一个与其分离实现。...下面讨论如何实现一个模型、两个视图和一个控制器程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程好处。对于控制器类,只需要增加另一个视图,并与模型发生关联即可。

3.7K20

ASP.NET Core 5.0 MVC Razor 页面 介绍

显式表达式可用于从 .cshtml 文件泛型方法呈现输出。 以下标记显示了如何更正之前出现由 C# 泛型括号引起错误。...有关详细信息,请参阅 ASP.NET Core Blazor 布局。 @model 此方案仅适用于 Razor () MVC 视图和页面。...@model 指令指定传递到视图或页面的模型类型: @model TypeNameOfModel 在 Razor 使用单独用户帐户创建 ASP.NET CORE MVC 或页面应用, Views/...@section指令与MVC 和 Razor 页面布局结合使用,以使视图或页面能够在 HTML 页面的不同部分呈现内容。 有关详细信息,请参阅 ASP.NET Core 布局。... 下面的示例演示如何将模板化 Razor 委托指定为 Func 。 为委托封装方法参数指定动态类型。 将对象类型指定为委托返回值。

26010

MVC项目开发那些用到知识点(MVC IModelBinder)

前言 本节主要来记录一下客户端发送请求参数自动绑定为强类型成员属性或方法参数也就是Model绑定体现在从当前请求提取相应数据绑定到目标Action方法参数。...如下面的代码片断所示,IModelBinder接口具有唯一BindModel方法用于实现针对某个参数绑定操作,该方法返回值表示就是最终作为参数值对象。...如下面的代码片断所示,IModelBinder接口具有唯一BindModel方法用于实现针对某个参数绑定操作,该方法返回值表示就是最终作为参数值对象。...关于ModelBindingContext创建我们会在后续部分进行单独介绍,我们先来介绍一下ModelBinder提供机制。...接下来就是运行程序,通过MVC路由机制http://localhost:25943/Home/Test?Name=aehyok&age=25 ?

75020

ASP.NET MVC 4单页面应用程序

ASP.NET MVC 4 beta包含了一个实验项目,用作开发“单页面应用程序(single page applications)”。...该项目也称为ASP.NET SPA,其项目类型基于一组开源库以及WPF、Silverlight上流行MVVM模式。...其中“with”绑定类似于将控件DataContext绑定到视图模型属性,而后者“foreach”本质上创建了一个项目集合控件。 位于技术组顶端是nav.js,它是微软新推出一个库。...服务器端 服务端应用程序框架由普通MVC页面表示,而应用程序内各种视图由分离页面(partial pages)表示。在示例,Knockout数据绑定用作动态地显示和隐藏这些页面。...DataController是ASP.NET Web APIApiController子类,后者提供了客户端向服务器提交ChangeSetEntry基本方法。

1.5K70
领券