也谈谈动态绑定dropdownlist(1)

也谈谈动态绑定dropdownlist(1)说来,很多的dropdownlist选项都不是固定的,是会动态改变的,一种方法是在页面上写死,改变时,直接修改页面就可以了。但是很多人是使用动态绑定的,因此dropdownlist的Text和Valu

大家好,又见面了,我是你们的朋友全栈君。

说来,很多的dropdownlist选项都不是固定的,是会动态改变的,一种方法是在页面上写死,改变时,直接修改页面就可以了。但是很多人是使用动态绑定的,因此dropdownlistTextValue是需要动态生成的。

首先我们来创建一个表来存放DropDownList的菜单选项:

create table DDLItem —下拉菜单选项表

(

id int Identity Primary Key, —编号

ItemName varchar(20) —菜单名称

)

       再在web.config里添加:

<appSettings>

      <add key=”ConnectionString” value=”server=127.0.0.1;uid=sa;password=1234;database=smsc” />

    appSettings>

一个最常用的方法就是用DataSet作为数据源来绑定Dropdownlist的值。

首先我们先在页面上加上一个DropDownList和一个Button

源代码如下:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

using System.Configuration;

 

namespace BindDropDownList

{

    ///

    /// Example1 的摘要说明。

    ///

    public class Example1 : System.Web.UI.Page

    {

      protected System.Web.UI.WebControls.DropDownList DropDownList1;

      protected System.Web.UI.WebControls.Button Button1;

  

        private void Page_Load(object sender, System.EventArgs e)

        {

            // 在此处放置用户代码以初始化页面

        }

 

        #region Web Form Designer generated code

        override protected void OnInit(EventArgs e)

        {

            //

            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。

            //

            InitializeComponent();

            base.OnInit(e);

        }

       

        ///

        /// 设计器支持所需的方法不要使用代码编辑器修改

        /// 此方法的内容。

        ///

        private void InitializeComponent()

        {   

         this.Button1.Click += new System.EventHandler(this.Button1_Click);

         this.Load += new System.EventHandler(this.Page_Load);

 

      }

        #endregion

 

      private void Button1_Click(object sender, System.EventArgs e)

      {

         //取得Web.config里的数据库连接字串

         string ConnString = ConfigurationSettings.AppSettings[“ConnectionString”];

         //创建一个SqlConnection

        


SqlConnection


Conn

= new SqlConnection( ConnString );

        

         string SQL_Select = “select id, ItemName from DDLItem order by id desc”;

         //构造一个SqlDataAdapter

         SqlDataAdapter myAdapter = new SqlDataAdapter( SQL_Select,


Conn

);

         //开始读取数据

         Conn.Open();

         DataSet dataSet = new DataSet();

         myAdapter.Fill( dataSet,”Table1″ );

         Conn.Close();

 

         //开始绑定DropDownList

 

         //指定DropDownList使用的数据源

         DropDownList1.DataSource = dataSet.Tables[“Table1”].DefaultView;

         //指定DropDownList使用的表里的那些字段

         DropDownList1.DataTextField = “ItemName”; //dropdownlistText的字段

         DropDownList1.DataValueField = “id”;//dropdownlistValue的字段

         DropDownList1.DataBind();

 

 

      }

    }

}

绑定后的 

       这个方法比较简单实用,可以灵活的指定一个表里的任意字段为DropDownListTextValue值。但是DataSet包含的其他属性太多,就是相当于一个脱机的数据库。因此说来,不是很赞成使用这个方法绑定DropDownList

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155650.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FreeCMS视频教程 远程发布静态页面

    FreeCMS视频教程 远程发布静态页面

    2022年2月21日
    49
  • 程序流程图ns图pad图_程序流程图五种基本结构

    程序流程图ns图pad图_程序流程图五种基本结构在需求分阶段经常使用3种方法去剖析我们所面对的业务。程序流程图任何复杂的程序图都应由5种基本控制结构组成或嵌套而成。盒图(N-S图)Nassi和Scheiderman提出了一种符合结构化程序设计原则的图形描述工具,叫作盒图,也叫做N-S图。任何一个N-S图,都是下面5种PAD图PAD是ProblemAnalysisDiagram的缩写,它是日本日立公司提出…

    2022年8月13日
    8
  • 令牌桶的实现_C语言实现栈

    令牌桶的实现_C语言实现栈接上篇。Guava的令牌桶的实现中,包括一条设计哲学,需要大家注意:它允许瞬间的流量波峰超过QPS,但瞬间过后的请求将会等待较长的时间来缓解上次的波峰,以使得平均的QPS等于预定值。RateLimiter类提供了令牌桶的接口,它是一个抽象类,其子类有SmoothRateLimiter(也是个抽象类)以及孙子类SmoothBursty,SmoothWarmingUp。SmoothRateLimite…

    2022年8月30日
    4
  • java for 的用法总结

    J2SE1.5提供了另一种形式的for循环。借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象。本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类

    2021年12月26日
    46
  • luogu1146

    luogu1146#include#definefr(i,a,b)for(inti=(a),i_end=(b);i<=i_end;i++)#definefrd(i,a,b)for(inti=(a),i_end=(b);i>=i_end;i–)#definelllonglong#definepri(x)printf(“%d”,x)#definemes(x

    2022年5月16日
    47
  • 最近需要看的博客

    最近需要看的博客

    2021年9月7日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号