积极答复者
需要一点小小的源代码

问题
答案
-
--------------------------------------------------------------------------------------------------- SkinFile1.skin
-------------------------------------------------------------------------------------------------<asp:GridView runat="server" SkinId="gridviewSkin1" BackColor="Blue" > </asp:GridView> <asp:GridView runat="server" SkinId="gridviewSkin2" BackColor="Green"> </asp:GridView>
--------------------------------------------------------------------------------------------------- Aspx
-------------------------------------------------------------------------------------------------<%@ Page Language="C#" AutoEventWireup="true" CodeFile="X200905311946.aspx.cs" Inherits="DataList_X200905311946" Theme="SkinFile1" %> <!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>动态切换指定控件的 SkinId</title> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="fGridView" runat="server"></asp:GridView> <asp:Button ID="fButton" runat="server" onclick="Button_Click" Text="Change SkinId" /> </form> </body> </html>
--------------------------------------------------------------------------------------------------- Aspx.cs
-------------------------------------------------------------------------------------------------using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; /// <summary> /// 标题: 动态切换指定控件的 SkinId /// </summary> public partial class DataList_X200905311946 : System.Web.UI.Page { #region " Employee " private DataTable Employee { get { if (Session["Employee"] == null) { DataTable fEmployee = new DataTable(); fEmployee.Columns.Add(new DataColumn("EmployeeKey", typeof(int))); // 员工 Id fEmployee.Columns.Add(new DataColumn("Name", typeof(string))); // 员工名称 fEmployee.Rows.Add(new object[] { 0, "X.X.Y" }); fEmployee.Rows.Add(new object[] { 1, "Chole" }); fEmployee.Rows.Add(new object[] { 2, "Tony" }); fEmployee.Rows.Add(new object[] { 3, "John" }); fEmployee.Rows.Add(new object[] { 4, "Chirs" }); fEmployee.Rows.Add(new object[] { 5, "Li" }); Session["Employee"] = fEmployee; } return (DataTable)Session["Employee"]; } } #endregion private string CurSkinId { get { if (Session["GridSkin"] == null) Session["GridSkin"] = "gridviewSkin1"; return (string)Session["GridSkin"]; } set { Session["GridSkin"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.fGridView.DataSource = this.Employee; this.DataBind(); } } protected override void OnPreInit(EventArgs e) { this.fGridView.SkinID = this.CurSkinId; base.OnPreInit(e); } protected void Button_Click(object sender, EventArgs e) { if (this.CurSkinId == "gridviewSkin1") Session["GridSkin"] = "gridviewSkin2"; else Session["GridSkin"] = "gridviewSkin1"; } }
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2009年6月5日 7:02
全部回复
-
protected void Button1_Click(object sender, EventArgs e){haha.SkinID = "loveme";}<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="修改Skin" />
【孟子E章】- 已标记为答案 KeFang Chen 2009年6月5日 7:01
- 取消答案标记 KeFang Chen 2009年6月5日 7:02
-
http://blog.csdn.net/sunscz/articles/725207.aspx
知识改变命运,奋斗成就人生! -
能够直接改最好了,可是报错的。。。要写在priinit里面的。但是preinit写上去没反应的。
if (Request.QueryString["page_theme"] != null)
{
Page.Theme = Request.QueryString["page_theme"].ToString();
}
else
{
Page.Theme = "Default";
}
//动态设置控件外观
if (Page.Theme != "" && Request.QueryString["button_skinid"] != null)
Button1.SkinID = Request.QueryString["button_skinid"].ToString(); ///实际上偶设的这句话能运行但不能正确显示。。
maiyude -
--------------------------------------------------------------------------------------------------- SkinFile1.skin
-------------------------------------------------------------------------------------------------<asp:GridView runat="server" SkinId="gridviewSkin1" BackColor="Blue" > </asp:GridView> <asp:GridView runat="server" SkinId="gridviewSkin2" BackColor="Green"> </asp:GridView>
--------------------------------------------------------------------------------------------------- Aspx
-------------------------------------------------------------------------------------------------<%@ Page Language="C#" AutoEventWireup="true" CodeFile="X200905311946.aspx.cs" Inherits="DataList_X200905311946" Theme="SkinFile1" %> <!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>动态切换指定控件的 SkinId</title> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="fGridView" runat="server"></asp:GridView> <asp:Button ID="fButton" runat="server" onclick="Button_Click" Text="Change SkinId" /> </form> </body> </html>
--------------------------------------------------------------------------------------------------- Aspx.cs
-------------------------------------------------------------------------------------------------using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; /// <summary> /// 标题: 动态切换指定控件的 SkinId /// </summary> public partial class DataList_X200905311946 : System.Web.UI.Page { #region " Employee " private DataTable Employee { get { if (Session["Employee"] == null) { DataTable fEmployee = new DataTable(); fEmployee.Columns.Add(new DataColumn("EmployeeKey", typeof(int))); // 员工 Id fEmployee.Columns.Add(new DataColumn("Name", typeof(string))); // 员工名称 fEmployee.Rows.Add(new object[] { 0, "X.X.Y" }); fEmployee.Rows.Add(new object[] { 1, "Chole" }); fEmployee.Rows.Add(new object[] { 2, "Tony" }); fEmployee.Rows.Add(new object[] { 3, "John" }); fEmployee.Rows.Add(new object[] { 4, "Chirs" }); fEmployee.Rows.Add(new object[] { 5, "Li" }); Session["Employee"] = fEmployee; } return (DataTable)Session["Employee"]; } } #endregion private string CurSkinId { get { if (Session["GridSkin"] == null) Session["GridSkin"] = "gridviewSkin1"; return (string)Session["GridSkin"]; } set { Session["GridSkin"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.fGridView.DataSource = this.Employee; this.DataBind(); } } protected override void OnPreInit(EventArgs e) { this.fGridView.SkinID = this.CurSkinId; base.OnPreInit(e); } protected void Button_Click(object sender, EventArgs e) { if (this.CurSkinId == "gridviewSkin1") Session["GridSkin"] = "gridviewSkin2"; else Session["GridSkin"] = "gridviewSkin1"; } }
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2009年6月5日 7:02