一个 aspx网页,如何用户可以选择不同的模板,可以让aspx显示为不同的风格??

解决方案 »

  1.   

    是直接在 aspx页面中修改的网页,把修改好的拷贝一份当模板,还是怎们弄???
      

  2.   

    选择不同的摸版  调用不同的css 就好了
      

  3.   

    做的模板肯定CSS的设置不同  你把这些设置保存到一个css文件里
    然后在页面的link那里设用就好了
      

  4.   

    在.net2005下,对主题进行编程方式更换
    步聚
           1. 建立主题文件夹: 
           在应用程序的根目录上单击右键,点选 Add Folder 下的 Theme Folder 选项后,会在根目录下出现名为 App_Themes 的空文件夹,所有的与主题有关的资源文件都会存储在这个文件夹下。 
           在本例中,选择以颜色不同的方式来区分主题,需要在主题文件夹(App_Themes)下建立两个以颜色为名称的文件夹。 
           操作方式:在 App_Themes 文件夹上单击右键,将鼠标移动到 Add Folder 选项上,发现在主题文件夹(App_Themes)新增文件夹的类型只有一种 Theme Folder: 
           建立两个主题文件夹,分别命名为 BlueTheme 和 PorpleTheme。        2.将主题 BlueTheme 应用于页面: 
    <%@ Page Language="C#" StylesheetTheme="BlueTheme" %>        3. 分别给每个主题添加 Skin 文件: 
           Skin 文件是实际包含主题所应用的格式设置的文件。一个主题可以包含一个或多个 Skin 文件。这没有关系,因为在将主题应用于页面时,ASP.NET Framework 将把某个主题下的多个 Skin 文件合在一起,而将这些文件视为一个 Skin 文件。 
           您可以根据需要将 Skin 文件命名为任何名称,在文件中可以通过声明某个控件的实例设置一个或多个此控件中的属性,从而使用 Skin 文件指定控件的外观。(注:并不是所有属性都可以设置,能设置的多为外观属性)。        本例中先在主题 BlueTheme 中建立新文件 Control.skin,在文件中对三个控件的某些属性进行了设置。 
    <asp:TextBox
        BackColor="#c4d4e0"
        ForeColor="#0b12c6"
        Runat="Server" /><asp:Label
        ForeColor="#0b12c6"
        Runat="Server" /><asp:Button
        BackColor="#c4d4e0"
        ForeColor="#0b12c6"
        Runat="Server" />          此时页面页面代码为: 
    <body>
      <form id="form1" runat="server">
        <table width="100%" cellpadding="0" cellspacing="0" border="0">
          <tr>
            <td height="23px" colspan="2"></td>
          </tr>
          <tr>
            <td align="center" height="50px">
              <asp:Label ID="Label1" runat="server" Text="Enter Your Name:"></asp:Label>
            </td>
            <td>
              <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            </td>
          </tr>
          <tr>
            <td align="center" height="50px">
              <asp:Label ID="Label2" runat="server" Text="Enter Your Nickname:"></asp:Label>
            </td>
            <td>
              <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            </td>
          </tr>
          <tr>
            <td align="center" height="50px">
              <asp:Button ID="Button1" runat="server" Text=" OK " />
            </td>
            <td>
              <asp:Button ID="Button2" runat="server" Text="Cancel" />
            </td>
          </tr>
          <tr>
            <td height="23px" colspan="2"></td>
          </tr>
          <tr>
            <td colspan="2"><br /><br /></td>
          </tr>
        </table>
      </form>
    </body>        此时页面效果为: 
           4. 使用 CSS 文件做更细致的设置: 
           对于一套皮肤的设置,我们不仅需要对网页中的控件进行设置,还应该做到对网页中的任一显示元素都进行随心所欲的修改,这时,我们可以通过对CSS样式表文件的控制来达到目的. 
          本例中在主题 BlueTheme 中建立了新文件 Default.css, 在此文件中对页面中的 body,table,td 元素进行了设置. body 
    { margin:0; padding:0; overflow:hidden; } .tableStyle 
    { font-family:"宋体"; font-size:12px;color:#000000;
    line-height:120%; background-image:url(image/bg.jpg); } .tdStyle
    { background-image:url(image/Bar_out.gif); }        再更改部分页面代码调用 CSS 样式后, 效果如下        5. 主题的动态切换: 
           在前台页面 Default.aspx 中添加一个下拉框,用来进行主题的选择. 
    <tr>
      <td colspan="2">
        <br />   您可以在此处选择页面主题:
        <asp:dropdownlist id="ChooseTheme" runat="server" autopostback="true">
          <asp:ListItem Value="BlueTheme">请选择颜色</asp:ListItem>
          <asp:ListItem Value="BlueTheme">蓝色</asp:ListItem>
          <asp:ListItem Value="PorpleTheme">紫色</asp:ListItem>
        </asp:dropdownlist>
        <br /><br /><br />
      </td>
    </tr>
     
           在后台页面 Default.aspx.cs 中添加代码用来在每次刷新页面时替换新选的主题. protected void Page_PreInit(object sender, System.EventArgs e)
    {
        Page.Theme = Request["ChooseTheme"];
    }
           点选下拉框中的选项,主题便会在页面刷新后改变,如:把蓝色主题切换为紫色主题,效果如下:        以上,便是 ASP.NET 2.0 中新增的主题功能,利用此项功能,我们不仅可以快速的将各式各样的外观应用于整个 Web 应用程序。还可以更加轻松的完成网站的扩充和维护工作。  
      

  5.   

    可以用开发环境下自带的webparts里面的控件设计,当然我个人觉得用div+css更好点.