问题一:
网站有多个aspx页面。统一继承自PageThems类
public partial class _Default:PageThemes
{}
//下为PageThemes类
public class PageThemes:System.Web.UI.Page
{
public PageThemes()
{
//
// TODO: Add constructor logic here
//
}
protected void Page_Preinit(object sender, EventArgs e)
{
if (Request.Cookies["pageStyle"] == null)
{
Page.Theme = "Default";
}
else
{
Page.Theme = Request.Cookies["pageStyle"].Value;
}
}
}
1、这种写法的缺点是每个apsx页面都要把system.web.ui.page改为Pagethemes,有没有什么好办法不用改页面的继承。让站点内每个aspx自动继承pageThemes?
2、假如站点内有多个文件夹,如admin和pages folder,同理不改页面继承,让admin
folder下的所有页面自动继承pageThemes类,让pages
folder下面的页面自动继承themes类(themes类与pagethemes类同理,只是应用的page.Theme不同)?
问题2:在一个solution中有多个project.如其中有一个名为Book.Common的class
library的项目,则其下面的所有cs文件的命名空间为:book.Common,如果我想把这个项目下所有CS文件的命名空间文件全部改
为:Blog.Common,有没有什么简便方法?
问题1:
1、没有办法,不过你可以修改文件模板来让每次新建文件时都自动修改这个地方
2、没有这个功能
不过我看你这两个类的名字,呵呵,是不是考虑使用Themes会更好的达到你目的?Themes可能就是用来专门解决你的问题的
问题2:
修改命名空间可以使用查找替换,把查找替换的范围设置为全解决方案即可
问题2:
在VS中CTR+F,点击“替换”,指定要被替换字符串【book.Common】和替换字符串【Blog.Common】,选择替换范围是当前的Project【如果其他项目已经引用了这个命名空间,那么就选择Entire Solution】,然后点击“全部替换”,就OK了
问题1:
可以先创建所有页面后,采用问题2的解决方法处理即可
是不是可以考虑把PageThemes类的功能放在母板页中处理呢?这样就避免了这问题
同意楼上的说法!另外,你还可以考虑写公共类啊,直接引用多爽啊!谢谢!三多拉幕!
高聚合低耦合
没事你继承什么
组合不够用么
建立个common文件夹
在里面写个common类好了
而且还好控制
同意一楼的办法@丁学!!