露雨城市-南京.NET爱好者
主要讨论的为C#,ASP.NET,Sql Server2005,包括VSTS 2005的相关工具和功能。
posts - 31,  comments - 126,  trackbacks - 11
1.好像修改站点级的主题不太方便,web.config里的程序不好改。
Page.Theme的属性,每个页面都要写。
有没有更好的办法能设置站点级的主题呢?
继承Page麻烦,重写Page的Page_PreInit方法倒是可以,不过默认的直接是继承的System.Web.Page类啊。

2.设置了一个MasterPage模版页,里面除了一些框架,导航之外,还有一个ContentPlaceHolder1控件。
代码如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
    
<div>
        
&nbsp;<table width="777" class="MainTable">
            
<tr>
                
<td colspan="3" align="center">
                    这是导航
</td>
            
</tr>
            
<tr>
                
<td style="width: 166px">
                                   
</td>
                
<td style="width: 418px">
        
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        
</asp:contentplaceholder>
                
</td>
                
<td style="width: 182px">
                                   
</td>
            
</tr>
            
<tr>
                
<td colspan="3" style="height: 21px" align="center">
                    这是底部
</td>
            
</tr>
        
</table>
    
</div>
    
</form>
</body>
</html>
此时已经有form的服务器控件了,然后我再增加一个Default.aspx,应用这个模版时,default.aspx中有一些TextBox和Button控件。
我应该如何使用asp.net 2.0中新增的Form.DefaultButton和Form.DefaultFocus属性呢,没法增加Form了呀,而且原来的MasterPage.master中的form1也不能用。因为我很可能还有其他页面要使用这个模版,所以觉得这个应该是在Default.aspx中设置的,可是不知道如何设置。

不知道大家有没有想过这方面的问题?

FeedBack:
2005-12-23 10:28 | quitgame      
参考 http://quitgame.cnblogs.com/archive/2005/11/22/282181.html">http://quitgame.cnblogs.com/archive/2005/11/22/282181.html 4) 应用主题,有三种办法

全局主题:在Web.config中<system.web>中添加<pages StyleSheetTheme ="ThemeName"/>节,这样在整个应用中都会自动应用名为ThemeName 的主题

页面主题:在ASPX文件顶部加入:<%@ Page Language="C#" StylesheetTheme=" ThemeName " %>,这样当前页面都会应用名为ThemeName 的主题,或者在ASPX_CS中加(Page_Load方法)入如下代码 Page. StyleSheetTheme = “ThemeName”;

角色主题:需要使用masterpage 来辅助实现 ,通过User.IsInRole(“RoleName”) 来判断用户是否属于某个角色,然后决定使用何种主题(Page. StyleSheetTheme = “ThemeName”);当然,使用这种办法还可以应用用户选择的主题

  回复  引用  查看    
#2楼[楼主]
2005-12-25 14:44 | 露雨城市.NET2.0和Sql Server 2005开发研究      
谢谢回复,这三种方法我都知道,关键不是能很好的解决我讲的问题。

现在我只能使用在每个页面都自动设置主题,在OnPageInit事件中来设置Page.Theme属性,我只是认为现在这种方法效率太低。
要是能在一个页面动态设置Theme属性,其他页面都可以应用就好了。

  回复  引用  查看    
2006-06-28 18:04 | Tony Kong[未注册用户]
对于这个问题我也找了很久,我想站点容器在运行网站时会首先把web.config中的信息读进内存,之后,这样的信息应该存在于内存中的,但是找不到控制Theme的全局变量.

变通的办法就是把在任何一个页面设置的Theme保存在Session中.在Page_PreInit中为每个页面应用.

但是这样显得很牵强.不完美.

欢迎讨论

tonykong200x@hotmail.com

  回复  引用    
2007-07-26 12:29 | dyson[未注册用户]
我的方法是自己写一个MyPage类,继承自 System.Web.UI.Page

所有页面类都继承MyPage。

在MyPage类中重写Page的Page_PreInit方法,根据用户的选择为网站全部页面更换主题~~~

  回复  引用    
2008-03-17 09:25 | lex[未注册用户]
theme 是一个鸡肋
无需再研究
theme 只能定义 服务端控件
无法 定义 html 标准客户端的控件
所以 不用无味 弃之可惜
最终 不用~

  回复  引用    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 298617




相关文章:

相关链接:

 网名:MOON
 博客:luyu.cnblogs.com
 网站:露雨虚拟城市
 QQ:80188871 (注明.net爱好者)
 mail:moonxp@126.com


<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

与我联系

搜索

 

常用链接

留言簿

我参与的团队

随笔分类(38)

随笔档案(31)

收藏夹(33)

个人网站

  • 露雨虚拟城市
  • 我的个人网站,欢迎大家访问交流,交个朋友吧。 本人是南京的。 :)
  • 设计资源无限网-韩国网站模版
  • 平面设计资源,韩国网页模版,韩国网页设计,韩国网站设计,韩国模版,矢量图,韩国矢量图,韩国素材,韩国设计资源,网站设计,网页设计

优秀Blog

最新随笔

积分与排名

  • 积分 - 51604
  • 排名 - 1190

最新评论

阅读排行榜

评论排行榜