看了老猫的文章,通过使页面动态加载不同CSS实现个性化界面(如个性化blog界面) 有以下几种方法
方法一:
HtmlGenericControl 定义不由特定的 .NET Framework 类表示的所有 HTML 服务器控件元素的方法、属性和事件。
<LINK href="login.css" type="text/css" rel="stylesheet">
其中href属性可以从用户配置中动态获得,然后进行页面设置。
<%@page language="C#"%>
<%@import namespace="System.Data"%>
<script language="c#" runat="server">
public void page_load(Object obj,EventArgs e)
{
//创建服务器端控件.
//指定的标记"LINK"初始化此类的新实例.
HtmlGenericControl objLink=new HtmlGenericControl("LINK");
objLink.ID=ID;
objLink.Attributes["rel"]="stylesheet";
objLink.Attributes["type"]="text/css";
objLink.Attributes["href"]="login.css";
//MyCSS为placeholder容器控件,放在<head>域
MyCSS.Controls.Add(objLink);
}
</script>
<html>
<head>
<title>c#</title>
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
</head>
<body >
<form runat="server">
</form>
</body>
</html>
方法二:
可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。
代码如下:
public void page_load(Object obj,EventArgs e)
{
if(!Page.IsPostBack){
//为页面的所有控件设置样式.
SetCSS(Page.Controls);
}
}
private void SetCSS(System.Web.UI.ControlCollection vControls)
{
for(int i=0;i<vControls.Count;i++)
{
System.Web.UI.Control vControl=vControls[i];
//得到控件的类型
//可增加控件类型及相应处理方法
string PType=vControl.GetType().Name;
switch (PType)
{
case "TextBox":
TextBox_CSS ((TextBox) vControl);
break;
case "Button":
//Button_CSS ((Button) vControl);
break;
case "DataGrid":
//DataGrid_CSS ((DataGrid) vControl);
break;
}
if(vControl.Controls.Count>0)
SetCSS(vControl.Controls);
}
}
private void TextBox_CSS(TextBox tb){
tb.CssClass="TextBox_show";
}
<form runat="server">
<asp:textbox id="Search1" runat="server"/>
<asp:textbox id="Search2" CssClass="INPUT" runat="server"/>
</form>
运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show".
分享到:
相关推荐
总的来说,通过ASP.NET控件重绘和加载自定义CSS,开发者能够摆脱框架提供的默认样式约束,实现更具创新性和个性化的Web界面设计。这对于提升网站的用户体验和视觉吸引力至关重要。同时,掌握这一技巧也有助于开发者...
在ASP.NET中,日历控件(Calendar)是一种常用的用户界面元素,用于显示日期并允许用户选择特定日期。个性化日历控件则是开发者为了提供更丰富、更具特色的用户体验而进行的自定义设计。本示例将详细介绍如何在ASP...
《ASP.NET博客平台的设计与实现》是一门深入探讨如何利用ASP.NET技术构建高效、功能丰富的博客系统的主题。在这个过程中,我们将涉及多个关键知识点,包括Web应用程序的基础架构、数据库设计、用户体验优化以及安全...
1. **页面生命周期管理**:ASP.NET页面有清晰的生命周期,包括初始化、加载、验证、呈现和卸载等阶段,开发者可以在这几个阶段中插入相应的处理代码。 2. **控件模型**:ASP.NET 提供了大量的服务器端控件,如按钮...
在ASP.NET开发中,"等待效果"是一种用户体验优化技术,用于在执行耗时操作(如数据库查询、文件处理或异步任务)时向用户显示一个加载指示器,以表明系统正在处理请求,让用户知道页面并未卡死。这种效果能够提高...
在ASP.NET中实现个性化新闻门户,开发者可能会使用以下技术: 1. **AOP(面向切面编程)**:通过拦截器记录用户行为,便于分析和推荐。 2. **缓存技术**:如Redis或内存缓存,提高热门新闻的加载速度。 3. **异步...
在ASP.NET中,开发者可以利用其强大的服务器端控件和丰富的功能来创建高效、动态的网页应用。在这个项目中,主要涉及了以下几个核心知识点: 1. 访客计数器: 访客计数器用于统计网站的访问人数。在ASP.NET中,这...
通过以上组件的协同工作,一个ASP.NET视频点播系统可以为用户提供流畅、个性化的视频观看体验。开发过程中还需要考虑性能优化、错误处理、测试和部署等环节,确保系统能够稳定运行,并随着时间推移持续改进。
1. **用户身份验证与授权**:使用ASP.NET Identity系统,开发者可以创建注册和登录功能,允许用户个性化他们的体验,并控制他们对网站内容的访问权限。 2. **页面路由**:ASP.NET的路由机制使得URL更加友好的同时,...
8. **模板和主题**:为了提供个性化界面,论坛通常支持多主题和模板,这涉及到了HTML、CSS和JavaScript的使用,以及ASP.NET的母版页(Master Pages)技术。 9. **缓存**:为了优化性能,论坛可能会使用ASP.NET的...
ASP.NET设计的博客网站是一种基于微软的.NET框架的Web应用程序,用于构建功能丰富的交互式在线社区。这个项目展示了ASP.NET的强大功能,特别是对于构建用户友好的网页和处理复杂业务逻辑的能力。以下是一些关于这个...
皮肤通常包含CSS样式、图片和其他相关的资源文件,它们被应用到ASP.NET的服务器控件上,以控制这些控件在页面上的显示。 此后台免费模板可能包含以下组件和特性: 1. **预设皮肤**:模板中可能提供了几种预设的...
ASP.NET 家庭财务管理系统是一种基于Web的应用程序,利用Microsoft的ASP.NET技术栈,结合C#编程语言和WebForm框架,旨在为个人或家庭提供一个便捷的财务管理平台。该系统可以帮助用户跟踪收入、支出,进行预算规划,...
在这个“ASP.NET C# 源码 换模板概念”的主题中,我们将深入探讨如何利用自定义控件、相对定位和绝对定位来实现网页模板的灵活更换。这是一项重要的技能,因为它允许开发者为用户提供个性化的界面体验,而无需更改...
3. **状态管理**:ASP.NET中的ViewState、Session和Cookie等机制用于在页面间保持用户状态,这对于购物车功能和用户个性化设置尤其重要。 4. **缓存技术**:为了提高系统性能,可能会使用ASP.NET的缓存功能,如...
在本系统中,ASP.NET的Web Forms或MVC模式可能被用来创建用户界面,通过HTML、CSS和JavaScript提供动态交互体验。使用ADO.NET可以轻松地与数据库(如SQL Server)进行数据交互,实现数据的增删改查操作。对于安全性...
2. **Navigation UI控件**:ASP.NET 2.0提供了几种内建的导航控件,如SiteMapPath、TreeView和Menu,它们可以根据站点地图自动生成导航界面。 - **SiteMapPath**:显示用户在网站结构中的当前位置,通常显示为面包...
在Asp.net开发中,下拉日期控件是一种常见的用户界面元素,用于让用户方便地选择日期。本资源提供了这样一个控件的源码和演示,帮助开发者理解和实现自定义的日期选择功能。 首先,Asp.net下拉日期控件通常由两部分...
本章将探讨不同的数据绑定策略及其在ASP.NET中的实现方式。 ##### 16. 数据控件 这部分内容介绍了ASP.NET中用于显示和编辑数据的各种控件,如GridView、DetailsView等,以及如何使用这些控件来创建强大的数据展示...
【基于ASP.NET博客系统】是一种使用微软的ASP.NET框架构建的网络应用,旨在提供一个用于发布个人或组织文章、图片、视频等内容的平台。ASP.NET是.NET Framework的一部分,它允许开发者构建高性能、安全且可扩展的Web...