asp.net错误处理
出现错误发送Email
可以在Global.asax的void Application_Error(Object sender,EventArgs e)
{
//用到了Ssytem.Net.Mail
MailMessage mail=new MailMessage();
mail.from=new MailAddress("automated@contoso.com");
mail.Subject="SIte Error at" +DateTime.Now;
mail.Body="Error Decription"+ ex.Message;
SmtpClient server=new SmtpClient();
server.Host=outgoingMailServerHost;
server.Send(mail);
}
///建壮的错误处理
1。预测问题,具体做饭是把所有可能发生故障代码封装在try/catch/finnally块中,单凭这一点并不能保证不会出现异常,至少还要正确的处理常见的异常
2。不要留下任何未处理的异常,只要遵循这个指导原则,即使未能预测到某种问题,也至少不会让用户看到异常页面,我们可以在页面级和应用程序级实施这一指导原则,不用说,应用程序级别错误处理程序优先于页面级处理程序
3。确保错误页面不会泄漏任何敏感资料,如有必要,区分本地用户和远程用户,并只对本地用户显示消息,本地用户被定义未从Web服务器机器访问应用程序的用户
web.config 中的<customErrors>节
<customErrors mode="RemoteOnly"> mode Off/RemoteOnly/On
更专业点的 一般用mode="RemoteOnly"向本地用户显示详细错误,向远程用户显示错误页面
<customErrors mode="On" defaultRedirect="/Error.aspx">
<error statusCode="404" redirect="Errro404.aspx"/>
</customErrors>
相关文档:
注意:
在使用FindControl时,一定要在最贴近查找对象的外边加上个容器,如果你直接用this.FindControl,或Page.FindControl那么就会经常出现未将对象设置到实例
的错误,所以最好加一个容器,那么这里加的DIV就是一个容器,为了让FindControl在ID为"TextBoxs"的DIV内去找名为com1,com2,com3的TextBOx;
<div ......
学习自定义控件的开发不仅可以使你开发出更灵活的系统更重要的是它可以使你加深对已有服务器控件的理解,得以更灵活的应用。
较之于asp,asp.net提供了更强大的功能,我比较喜欢它的代码分离技术和对诸如C#、VB.Net等强类型语言的使用,这是从开发者的角度来看的,从用户的角度来看,会觉得它速度更快,运行更稳定, ......
偶尔使用,简单的记录下过程
1.下载Newtonsoft.Json.Net20.dll后,放入Asp.net项目Bin文件夹中.
Newtonsoft.Json.Net20,是一个Object/Json转换工具,这里用来把对象转换成Json格式字符串.
2.树节点Model对象,
public class TreeModel{
private string _i ......