ASP.NET基础系列
一、HttpContext概述
1)、如何获取对象:
在WebForm或类库(包括MVC)项目中,通过Current静态属性,就能够获得HttpContext的对象: HttpContext context = HttpContext.Current;
如果是在Asp.net MVC的Controller中,通过this.HttpContext;就能获取到HttpContextBase对象:HttpContextBase context = this.HttpContext;
如果是在MVC视图中可以这样得到:@Html.ViewContext.HttpContext
2)、貌似HttpContext中有很多对象属性在Page中也有,例如Request,Response,Cache,Session等等,那它们是什么关系呢?
是同一个对象。
//获取上一次异常
HttpContext.Current.Server.GetLastError();
//清空异常
HttpContext.Current.Server.ClearError();
HttpContext.Current在异步线程中是获取不到的,为null
获取当前网站、应用程序根目录:AppDomain.CurrentDomain.BaseDirectory
二、Asp.Net Web Form 页面
1) 页面中多个表单元素名称相同时,传入的值为 逗号分隔:如 有两个<input type="text" name="age" /> 元素 一个值是10 一个值是20,传入的时,age:10,20
2) 按钮事件 当前页面的请求地址不会改变 , 如,请求地址为: http://localhost:55519/Test.aspx?no=qq 在这个页面点击服务器按钮时 请求地址不会改变 ,即查询字符串?no=qq 信息不会丢失。
原理:表单控件的默认action 为当前请求地址。
<form method="post" action="Test.aspx?no=qq" id="form1"> <input type="submit" name="btnTest" value="ces" id="btnTest"><form>
3)服务器控件有视图状态 在提交表单后 值仍存在 不用重新输入 , html 客户端控件则提交后数据清空
web.config 中设置单个文件上传大小:maxRequestLength 默认值 4096 KB (4 MB)
<httpRuntime maxRequestLength="4096" appRequestQueueLimit="60" executionTimeout="60"/>
三、部署服务器
1、应用程序池--》高级设置--》启动32位应用程序 true--》托管管道模式选择Classic FrameWork选择4.0版 32位 经典模式(Class)
2、网站:功能视图:处理程序映射:Copy 4.0版32位(HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit的可执行文件) 右击添加 通配符脚本映射:名称随便起 可执行文件用上一步
3、如果有上传文件功能 添加IIS Pool权限:
四、自定义错误页面:
方法一:web.config
configuration>
<system.web>
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly|On|Off">
<error statusCode="500"
redirect="InternalError.htm"/>
<error statusCode="404"
redirect="404.htm"/> </customErrors>
</system.web>
</configuration>
方法二:自定义Page类
四、
//获取最后的异常。
//获取前一个异常
Exception ex = HttpContext.Current.Server.GetLastError();
//清除前一个异常。
HttpContext.Current.Server.ClearError();
五、
在含有验证控件的页面 想让某个服务器按钮 免验证提交事件 可设置其 属性 CausesValidation="False"
六、
//ASP.NET后台页面跳转
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>");
//后台弹出确定框
ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('请正确输入!');</script>");
//ASP.NET后台页面跳转
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('数据添加成功!');{location.href='ProductonList.aspx'}</script>");
或
Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>window.location.href='AdminMain.aspx';</script>");
//后台弹出文本框
ScriptManager.RegisterStartupScript(Page, typeof(string), "popUp", "window.open('rptView.aspx','打印预览','toolbar=no,location=no,scrollbars=yes,top=200px,left=200px,width=904px,height=650px')", true);
清除DNS缓存
遇到网络异常,可能是DNS缓存的问题,清理一下即可。
①开始→运行→输入:CMD 按回车键,打开命令提示符窗口。
②再输入: ipconfig /flushdns 回车执行命令,重建本地DNS缓存。
含有表单验证控件的页面在验证未通过时按钮事件是不无法提交的
ASP.NET基础系列的更多相关文章
- 你所不知道的ASP.NET Core MVC/WebApi基础系列(一)
前言 最近发表的EF Core貌似有点多,可别误以为我只专攻EF Core哦,私下有时间也是一直在看ASP.NET Core的内容,所以后续会穿插讲EF Core和ASP.NET Core,别认为你会 ...
- 你所不知道的ASP.NET Core MVC/WebApi基础系列 (一)
转自博客:https://www.cnblogs.com/CreateMyself/p/9235968.html 前言 最近发表的EF Core貌似有点多,可别误以为我只专攻EF Core哦,私下有时 ...
- 【ASP.NET Identity系列教程(一)】ASP.NET Identity入门
注:本文是[ASP.NET Identity系列教程]的第一篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- 【ASP.NET Identity系列教程(二)】运用ASP.NET Identity
注:本文是[ASP.NET Identity系列教程]的第二篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- 【ASP.NET Identity系列教程(三)】Identity高级技术
注:本文是[ASP.NET Identity系列教程]的第三篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...
- ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API
ASP.NET 5.0 的主要目标之一是统一MVC 和 Web API 框架应用. 接下来几篇文章中您会了解以下内容: ASP.NET MVC 6 中创建简单的web API. 如何从空的项目模板中启 ...
- 【.NET特供-第三季】ASP.NET MVC系列:MVC与三层图形对照
近期在开发小组在研究:BS项目中是利用'MVC框架'还是继续沿用'三层'的问题. 由于曾经的.NET项目大多数都是利用三层开发的,所以大多数人都可以对三层进行熟练地运用.而项目的開始我们也曾听说过MV ...
- Easyui + asp.net MVC 系列教程 完成登录
Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制 前面八节 在这里 Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门 在接下 ...
- ASP.NET MVC3 系列教程 - 目录
ASP.NET MVC3 系列教程 - 目录 I:ASP.NET MVC3 新增的功能 ASP.NET MVC3 系列教程 - Razor视图引擎基础语法ASP.NET MVC3 系列教程 - V ...
随机推荐
- ENVI5.1安装破解教程
原文地址: ENVI5.1安装破解_百度经验 http://jingyan.baidu.com/article/020278118b5ded1bcd9ce57a.html ENVI5.1_x86 ...
- autocapticalize和autocorrect
首字母自动大写autocapitalize 在 iOS 中,用户可以手动开启「首字母自动大写」功能,这样输入英文的时候,首字母便会自动大写.但是,有些时候并不希望一直是首字母大写的.比如用户名这个字段 ...
- R语言中的箱图介绍 boxplot
画箱图的函数: boxplot()##help(boxplot)查询具体用法 图例的解释: 如下图,是两个简单的箱图. 中间的箱子的上下边,分别是第三,一个四分位数. 中间的黑线是第二四分位数(中 ...
- NPAPI插件开发
1.插件是什么 插件是一种遵循一定规范的应用程序接口编写出来的程序.插件必须依附于一个宿主程序,为宿主程序提供增强功能.插件的种类有很多,这里主要讨论浏览器插件. IE下利用OLE和COM技术开发的浏 ...
- Eclipse插件安装
在线安装(一定要保证网络畅通) 更新插件: Eclipse中,Help->Install New Software...从Work with下拉列表框中选择,通过该列表框可以选择Eclipse已 ...
- uyouo[]常棒的一篇关于innnodb next-key lock的文章
何登成的 MySQL 加锁处理分析 Innodb锁机制:Next-Key Lock 浅谈
- JSOI2014第三轮总结
这次发挥的比上次好很多 毕竟这次的话好歹上100了,也不是特别丢人 但更主要的是,该得的分没有丢(不禁想到了R1的线段树和R2的网络流,可惜啊) 不会做的题目积极去骗分了(如D1T1,2和D2T1) ...
- 安装ArchLinux BIOS
VMware默认下使用BIOS 本文基于ArchLinux(https://www.archlinux.org/)Current Release: 2013.08.01的ISO写的安装教程! ISO下 ...
- 【 D3.js 高级系列 — 1.1 】 封装文本自动换行
在[高级 - 第 1.0 章]中讲解了在 SVG 中如何配合使用 text 和 tspan 来实现换行的功能,本文对此功能进行一下封装,以后就可以直接用了. 1. 引用 js 文件 下载地址:mult ...
- LRU与MRU算法
1.Cache Hit and Cache Miss 当使用者第一次向数据库发出查询数据的请求的时候,数据库会先在缓冲区中查找该数据,如果要访问的数据恰好已经在缓冲区中(我们称之为Cache Hit) ...