ASP.NET判断URL参数是否存在
ASP.NET中,若要将一个URL参数值赋值给一个变量,都得先判断参数是否存在,否则等待你的很可能就是"未将对象引用设置到对象的实例",以前都是
Request.QueryString["xx"] != null比较后再赋值,但今天在一个项目中发现竟还报错,代码大致结构如下:
复制内容到剪贴板
程序代码
int id = 0;
if (Request.QueryString["id"] != null)
id = int.Parse(Request.QueryString["id"]);
后
来发现URL为:http://www.mzwu.com/?id=,原因是Request.QueryString["id"]的值为一个空字符串,所
以通过了Request.QueryString["id"] !=
null的验证,但将空字符串传给int.Parse方法,还是报错了,可见,光判断参数是否存在还是不够的,还必须得进一步判断是否有传值才行,最终代
码改为:
复制内容到剪贴板
程序代码
int id = 0;
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
id = int.Parse(Request.QueryString["id"]);
原因是:当参数不存在时,参数值为null,调用string.IsNullOrEmpty方法,null会自动转换为空字符串;当参数存在但不传值时,参数值为空字符串,string.IsNullOrEmpty很容易就判断出来了!
相关文档:
关于数据处理相关的优化
一、 SqlDataRead和Dataset的选择
Sqldataread优点:读取数据非常快。如果对返回的数据不需做大量处理的情况下,建议使用SqlDataReader,其性能要比datset好很多。缺点:直到数据读完才可close掉于数据库的连接
(SqlDataReader 读数据是快速向前的。SqlDataReader 类提供了一种读取从 SQL Ser ......
为了忘记:
1,System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32);:void
//从IIS来的请求
2,System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest) : Void
//在这一步创建一个HttpContext对象
3, System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext) : IHttpHandler
// ......
以前没有遇到,今天以前同事问这个问题,整出来做为收藏
直接贴代码:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(SenFe_Replace("沉下心去做好每一件事_2010_2_1_asp.net_你一定行"));
& ......
计划推出的《ASP.NET实战笔记》,提纲如下: 第一篇 典型的网站架构解决方案
第1章 系统目标
1.1 需求分析
1.2 系统目标
第2章 系统功能预览
2.1 用户管理
2.1.1. ......
=================================================================================
How to enable an ASP.NET WebService to listen to HTTP POST calls
=================================================================================
Imagine you developed an ASP.NET WebService, but the client that nee ......