izipcode.cs

来自「asp。net 2.0宝典一书源码 全书源码给大家共享」· CS 代码 · 共 104 行

CS
104
字号
using System;
using System.Web;
using System.Web.Security;
using System.Security.Permissions;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace WebPartDemo
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
    public interface IZipCode
    {
        string ZipCode { get; set;}
    }

    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
    public class ZipCodeWebPart : WebPart, IZipCode
    {
        string zipCodeText = String.Empty;
        TextBox input;
        Button send;

        public ZipCodeWebPart()
        {
        }

        [Personalizable()]
        public virtual string ZipCode
        {
            get { return zipCodeText; }
            set { zipCodeText = value; }
        }

        [ConnectionProvider("Zip Code Provider", "ZipCodeProvider")]
        public IZipCode ProvideIZipCode()
        {
            return this;
        }

        protected override void CreateChildControls()
        {
            Controls.Clear();
            input = new TextBox();
            this.Controls.Add(input);
            send = new Button();
            send.Text = "请输入邮政编码";
            send.Click += new EventHandler(this.submit_Click);
            this.Controls.Add(send);
        }

        private void submit_Click(object sender, EventArgs e)
        {
            if (input.Text != String.Empty)
            {
                zipCodeText = Page.Server.HtmlEncode(input.Text);
                input.Text = String.Empty;
            }
        }

    }

    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
    public class WeatherWebPart : WebPart
    {
        private IZipCode _provider;
        string _zipSearch;
        Label DisplayContent;

        [ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")]
        public void GetIZipCode(IZipCode Provider)
        {
            _provider = Provider;
        }

        protected override void OnPreRender(EventArgs e)
        {
            EnsureChildControls();

            if (this._provider != null)
            {
                _zipSearch = _provider.ZipCode.Trim();
                DisplayContent.Text = "邮政编码是:  " + _zipSearch;
            }
        }

        protected override void CreateChildControls()
        {
            Controls.Clear();
            DisplayContent = new Label();
            this.Controls.Add(DisplayContent);
        }

    }

}




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?