• 用户控件学习友情链接控件


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

    (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;
                }

    运行效果:

  • 相关阅读:
    Python闭包
    使用python在极坐标中生成一条直线
    使用python生成c文件模板
    使用python转换markdown to html
    使用python转换编码格式
    安装PyQt5和Eric6
    2.深入剖析地址转化
    1.MMU功能解析
    37.C与汇编混合编程
    36.从汇编到C(bl1到bl2)
  • 原文地址:https://www.cnblogs.com/zhouhb/p/2054399.html
Copyright © 2020-2023  润新知