• 动态为DropDownList添加Item


    先看演示:

    Insus.NET在MasterPage放置了一个DropDownList和一个Button控件,然后在Default.aspx放置一个TextBox。从上面的动画中可以看到,在TextBox输入文字,它会动态添加至MasterPage的DropDownList控件中。

    实现过程,首先写一个接口:

    IGetable
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    /// <summary>
    /// Summary description for IGetable
    /// </summary>
    namespace Insus.NET
    {
        public interface IGetable
        {
            string TextBoxValue
            {
                get;
            }
        }
    }

    接下来,新建MasterPage:

    InsusMasterPage.master:

    InsusMasterPage.master
    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="InsusMasterPage.master.cs" Inherits="InsusMasterPage" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>   
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="DropDownList1" runat="server" Width="100">
            </asp:DropDownList>
            <asp:Button ID="Button1" runat="server" Text="Add Item" OnClick="Button1_Click" />
            <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
            
            </asp:ContentPlaceHolder>
        </div>
        </form>
    </body>
    </html>

    InsusMasterPage.master.cs代码,重点部分已经有注释,难度应该不大:

    InsusMasterPage.master.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Insus.NET;

    public partial class InsusMasterPage : System.Web.UI.MasterPage
    {
       //Insus.NET:宣告一个泛型,将存储输入的数据
        List<string> list = new List<string>();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Data_Binding();
            }
        }

        private void Data_Binding()
        {
            this.DropDownList1.DataSource = list;
            this.DropDownList1.DataBind();

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            //Insus.NET:把page转为接口,并取属性
            string v = ((IGetable)this.Page).TextBoxValue;

           //Insus.NET:判断Session是否为空
            if (Session["db"] != null)
            {
               //Insus.NET:如果不为空,直接从Session取出
                list = (List<string>)Session["db"];
            }
            else
            {
                //Insus.NET:如果为空,new一个实例
                list = new List<string>();
            }

           //Insus.NET:把输入值加入泛型
            list.Add(v);
           
            //Insus.NET:存入Session
            Session["db"] = list;

            Data_Binding();
        }
    }

    最后,是Aspx的代码:

    Default.aspx:

    View Code
    <%@ Page Title="" Language="C#" MasterPageFile="~/InsusMasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </asp:Content>

    Default.aspx.cs:

    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Insus.NET;

    public partial class _Default : System.Web.UI.Page,IGetable
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        //Insus.NET:实现接口
        public string TextBoxValue
        {
            get {
                return this.TextBox1.Text;
            }
        }
    }

    好了,非常简单的例子。

  • 相关阅读:
    hdu6354 杭电第五场 Everything Has Changed 计算几何
    hdu6351 Beautiful Now 杭电第五场 暴力枚举
    牛客多校第六场 J Heritage of skywalkert 随即互质概率 nth_element(求最大多少项模板)
    百度之星资格赛 调查问卷 bitset模板(直接将字符串转化成二进制数组并可以计算出十进制值)
    百度之星资格赛 子串查询 线段树
    牛客多校第五场 F take 期望转化成单独事件概率(模板) 树状数组
    牛客多校第五场 E room 二分图匹配 KM算法模板
    牛客第五场多校 J plan 思维
    idhttp提交post
    centos6.2 shutdown now关机进入单用户模式
  • 原文地址:https://www.cnblogs.com/insus/p/2241255.html
Copyright © 2020-2023  润新知