分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

Asp.Net MVC绑定DropDownList等控件

发布时间:2023-09-06 02:10责任编辑:郭大石关键词:MVC

测试环境:vs2013、.Net4.5、mvc5

一、Asp.Net MVC绑定控件原理说明

以Html.TextBox为例

 ???????/// <param name="name">名称,对应name和ID</param> ???????/// <param name="value">value值,如果value为null或不存在,那么此时value自动等于name。获取的顺序为:先从ViewData中查找是否存在键值为name值的项,如果ViewData中没有则从ViewData.Model中查找是否存在名称为name值的属性,如果仍然不存在,则返回null。</param> ???????/// <returns></returns> ???????public static MvcHtmlString TextBox(string name, object value);

控制器代码:

ViewData["name"] = "张三";

视图代码:

@Html.TextBox("name")

编译代码:

<input id="name" name="name" type="text" value="张三" />//把ViewData["name"]值自动绑定到value

同理可绑定的还有:label、RadioButton、CheckBox、TextArea、Hidden等input标签控件

DropDownList与texttbox等原理一样,但是DropDownList的选项需要是集合而不是一个字符串值,所以需要用一下方法绑定

二、Asp.Net MVC绑定DropDownList

  1、方法1:List<SelectListItem>常规绑定法

controller代码:

List<SelectListItem> items = new List<SelectListItem>();items.Add(new SelectListItem { Text = "篮球", Value = "1" });items.Add(new SelectListItem { Text = "足球", Value = "2",Selected=true });items.Add(new SelectListItem { Text = "台球", Value = "3" });ViewData["ddlQiu"] = items;

view代码:

@Html.DropDownList("ddlQiu")

编译代码:

<select id="ddlQiu" name="ddlQiu"><option value="1">篮球</option><option selected="selected" value="2">足球</option><option value="3">台球</option></select>

  2、方法2:SelectList对象绑定法

ASP.NET MVC为DropDownList和ListBox(都在html中使用select标记)准备了一个辅助类型:SelectList。

SelectList继承自MultiSelectList,而后者实现了IEnumerable<SelectListItem>。也就是说,SelectList可以直接作为Html.DropDownList方法的第二个参数。

MultiSelectList包含四个属性,分别为:

  • Items:用于在select标记中出现的列表,通常使用option标记表示。IEnumerable类型。
  • DataTextField:作为option的text项,string类型。
  • DataValueField:作为option的value项,string类型。
  • SelectedValues:选中项的value值,IEnumerable类型。

controller代码:

var listCity = db.City.Where(x => x.ParentId == 0);var ddlList = new SelectList(listCity, "id", "name", "9");ViewData["ddlCity"] = ddlList;

voew代码:

@Html.DropDownList("ddlCity")

编译代码:

<select id="ddlCity" name="ddlCity"><option value="1">北京</option><option value="2">天津</option><option value="3">河北省</option><option value="4">山西省</option><option value="5">内蒙古自治区</option><option value="6">辽宁省</option><option value="7">吉林省</option><option value="8">黑龙江省</option><option selected="selected" value="9">上海</option><option value="10">江苏省</option><option value="11">浙江省</option><option value="12">安徽省</option><option value="13">福建省</option><option value="14">江西省</option><option value="15">山东省</option><option value="16">河南省</option><option value="17">湖北省</option><option value="18">湖南省</option><option value="19">广东省</option><option value="20">广西壮族自治区</option><option value="21">海南省</option><option value="22">重庆</option><option value="23">四川省</option><option value="24">贵州省</option><option value="25">云南省</option><option value="26">西藏自治区</option><option value="27">陕西省</option><option value="28">甘肃省</option><option value="29">青海省</option><option value="30">宁夏回族自治区</option><option value="31">新疆维吾尔自治区</option><option value="33">香港特别行政区</option><option value="34">澳门特别行政区</option><option value="3525">国外</option></select>

//两种方法都可以,喜欢哪个用哪个

Asp.Net MVC绑定DropDownList等控件

原文地址:https://www.cnblogs.com/webapi/p/9496604.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved