首页  ·  知识 ·  云计算
同一自定义控件的在不同页面有不同的样式
佚名  有了大树的幸福树懒  综合  编辑:dezai  图片来源:网络
在网页设计中,有时会希望同一个自定义控件会有不同的样式出现在网页上,下面举个小例子,看看这种效果是怎么实现的吧! 1、首先添加一个自定义控件Text

在网页设计中,有时会希望同一个自定义控件会有不同的样式出现在网页上,下面举个小例子,看看这种效果是怎么实现的吧!

1、首先添加一个自定义控件TextBox.ascx:

<%...@ Control Language="C#" AutoEventWireup="true" CodeFile="TextBox.ascx.cs" Inherits="WebUserControl" %>

2、设置控件的不同样式:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class WebUserControl : System.Web.UI.UserControl
...{
    protected string style;

    protected void Page_Load(object sender, EventArgs e)
    ...{
        style = Style;
        if (style == "Orange")
        ...{
            TextBox1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid;
            TextBox1.BorderColor = System.Drawing.Color.Orange;
        }
        else if (style == "Purple")
        ...{
            TextBox1.BorderStyle = System.Web.UI.WebControls.BorderStyle.Dotted;
            TextBox1.BorderColor = System.Drawing.Color.Purple;
        }
    }

    public virtual string Style //为自定义控件添加属性
    ...{
        get
        ...{
            if (ViewState["style"] != null)
            ...{
                return ViewState["style"].ToString();
            }
            else
            ...{
                return "";
            }
        }
        set
        ...{
            ViewState["style"] = value;
        }
    }

}
3、将该自定义控件添加到不同的页面,并设置不同的样式:

<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="Test1.aspx.cs" Inherits="test" %>

<%...@ Register Src="TextBox.ascx" TagName="TextBox" TagPrefix="uc1" %>

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

http://www.w3.org/1999/xhtml" >

    无标题页


   
   


       
       

   


 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class test : System.Web.UI.Page
...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
        TextBox1.Style = "Orange";
    }
}
 

<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="Test2.aspx.cs" Inherits="Test2" %>

<%...@ Register Src="TextBox.ascx" TagName="TextBox" TagPrefix="uc1" %>

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

http://www.w3.org/1999/xhtml" >

    无标题页


   


   

       
   
   

   



 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Test2 : System.Web.UI.Page
...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
        TextBox1.Style = "Purple";
    }
}
运行这两个页面看看,同一个自定义控件有不同的样式了!(也可以在同一页面中实现或有更多变化)

本文作者:佚名 来源:有了大树的幸福树懒
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读