WPF中DataGrid的样式

最近一个WPF项目中,要求DataGrid列头加背景颜色,本以为很简单,但是加了背景颜色,排序的箭头就消失了。

查了好久资料,终于在这里找到答案了,

http://blogs.msdn.com/b/jaimer/archive/2009/01/20/styling-microsoft-s-wpf-datagrid.aspx

文章写得很好,也很容易理解。

[asp.net]遇到的常用方法

1. 先验证后弹框的方法(页面有验证控件的前提)

        /// <summary>
        /// 先验证再弹框
        /// </summary>
        private string strJs = @"if (typeof(Page_ClientValidate) == 'function')
                                {{ if(Page_ClientValidate('{0}')) 
                                    return window.confirm('{1}');}}  ";

2.asp:Button中window.location.href无法跳转,必须添加return false;

3.使用window.location.href无法用Request.UrlReferrer获取.

        /// <summary>
        /// 设置按钮
        /// </summary>
        private string strBtnGoJS = @"var tempa = document.createElement('a'); 
                        tempa.href = 'xxx.aspx';
                        document.getElementsByTagName('body')[0].appendChild(tempa);
                        tempa.click();
                        return false;";

4.用IFrame嵌套其他aspx页,发现IE7,IE8表现的不一样,经过调查,发现是嵌套页重复加载模板,删除就好了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

继续阅读

asp.net 异常出现跳转到错误页

待更新....

 

在Global.asax文件中的Application_Error中跳转,因为出现异常时,会自动触发该事件。

 

void Application_Error(object sender, EventArgs e)
{ 
   Exception errInfo = Server.GetLastError();
   if(errInfo.InnerException !=null)                
   {
     string URL = "~/Error.aspx";
   }
}

MOSS2007中找不到另存为网站模板

想把一个MOSS的子网站存为模板,按照书上的本应该有个 另存为模板 的选项,但是没找到。

后来在一个blog上发现这样的解决方法,貌似微软在WSS VS 和Moss 2007中隐藏了,奇怪。

 

If you are trying to save a site as a template in WSS v3 or MOSS 2007 you will find that the link "Save site as template" is only available under Look and Feel at the Top Level of the site collection.  Doesn't really help if you want to save a sub site as a template now does it?  If you would like to save a sub site as a template you need to append _layouts/savetmpl.aspx to your sub sites url.  I am guessing Microsoft just forgot this link and it will be around by the time we go RTM.

So just to make it clear.  If your subsite is

http://portal.abc.local/sitedirectory/team/default.aspx

You would go to

http://portal.abc.local/sitedirectory/team/_layouts/savetmpl.aspx

and then you would be able to save the site as a template.

 

这就是解决方法,大概就是在你的MOSS网站后,拼接一个文件链接即可,如:

你的MOSS网址/_layouts/savetmpl.aspx

这样就好了。

不能将DLL添加到assembly中(VS2010)

在将以前用VS2008开发的SharePoint中的EventHandler移到VS2010加以修改后,

将强命名的DLL拷贝到C:\WINDOWS\assembly时,没反应。

Google搜之,后来才发现:

 

The C:\windows\assembly is a .NET 3.0/3.5 cache. If you are building a .NET 4.0 assembly, then you will find it in C:\Windows\Microsoft.NET\assembly

 

意思就是说.net 4.0的话 要copy到 C:\Windows\Microsoft.Net\assembly目录下。

 

另外对于开发Sharepoint来说,最高的版本2010好像也只支持.net 3.5。

关于 SharePoint和.net Framework的版本关系,可以参考一下这里:

http://blogs.msdn.com/b/jiel/archive/2009/06/01/sharepoint-net-framework.aspx