zoukankan      html  css  js  c++  java
  • 用户控件学习友情链接控件

    集成数据绑定的用户控件-友情链接控件

    (1)定义FriendLinkItem类,代表每个链接项

        [SerializableAttribute]    //必须可序列化
        public class FriendLinkItem
        {
            private string text;
            public string Text
            {
                get
                {
                    return text;
                }
                set
                {
                    if(value!=string.Empty)
                        text=value;
                    else
                        text="我的链接";
                }
            }
            public string navigateUrl;
            public string NavigateUrl
            {
                get
                {
                    return navigateUrl;
                }
                set
                {
                    string urlPattern=@"([\w-]+\.)+[\w-]+.([^a-z])(/[\w-: ./?%&=]*)?|[a-zA-Z\-\.][\w-]+.([^a-z])(/[\w-: ./?%&=]*)?";
                    if(Regex.IsMatch(value,urlPattern))
                        navigateUrl=value;
                    else
                        navigateUrl="http://www.cnblogs.com/zhouhb";
                }
            }
            public FriendLinkItem(string Text, string NavigateUrl)
            {
                this.Text = Text;
                this.NavigateUrl = NavigateUrl;
            }
        }
    (2)创建用户控件,包含数据绑定控件GridView

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
        Width="138px">
        <Columns>
            <asp:HyperLinkField DataNavigateUrlFields="NavigateUrl" DataTextField="Text"
                HeaderText="常用链接" Target="_blank" >
                <ItemStyle HorizontalAlign="Center" />
            </asp:HyperLinkField>
        </Columns>
        <EmptyDataTemplate>
            请添加友情链接
        </EmptyDataTemplate>
    </asp:GridView>

    (3)用户控件在内部使用数据绑定的方法来显示Links属性所包含的友情链接项

            public List<FriendLinkItem> Links
            {
                get
                {
                    return ViewState["Links"] as List<FriendLinkItem>;
                }
                set
                {
                    ViewState["Links"] = value;
                    GridView1.DataSource = value;
                    GridView1.DataBind();
                }
            }

    (4)页面中使用该用户控件
                if (!IsPostBack)
                {
                    List<FriendLinkItem> links = new List<FriendLinkItem>();
                    links.Add(new FriendLinkItem("博客园", "http://www.cnblogs.com"));
                    links.Add(new FriendLinkItem("CSDN", "http://www.csdn.net"));
                    links.Add(new FriendLinkItem("搜狐网", "http://www.sohu.com"));
                    MyLink1.Links = links;
                }

    运行效果:

  • 相关阅读:
    asp.net 自定义文本框
    单机运行k8s以及e2e
    编译k8s1.3的代码
    etcd的简单使用
    How Tencent Tests Software
    ps引发的血案
    配置IDE查看kubernetes源码
    读书笔记<<不懂带人,你就自己干到死>>
    书摘<<互联网世界观>>
    读书笔记《异类》
  • 原文地址:https://www.cnblogs.com/zhouhb/p/2054399.html
Copyright © 2011-2022 走看看