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很容易就判断出来了!
相关文档:
ASP.NET控件开发基础之类型转换器1.认识默认属性浏览器支持
让我们再认识一下属性,大家知道每个属性都是有类型的,最熟悉就是string,int这些类型了,VS2005属性浏览器对这些属性类型进行了识别,
如下例子
(1)table控件的Height属性,当你设置属性为字符串时,则提示错误信息
(2)当属性类型为Color属性时,属性浏览器 ......
以下引用自 MSDN Magazine:
不论好坏,UpdatePanel 控件都是 ASP.NET AJAX 社区所喜爱的。我说“好”,是因为 UpdatePanel 使部分页面呈现变得相当简单,而说“坏”,是因为它的简便和易用性是以效率和令人啼笑皆非的带宽为代价的。
UpdatePanel 可以为一般的网页带来 AJAX 神奇的好处,但是它不能提 ......
protected void btncancel_Click(object sender, EventArgs e)
{
Page.RegisterStartupScript("", "<mce:script type="text/javascript"><!--
window.close()
// --></mce:script>");
}
......
public DataSet ExcelToDS(string Path)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
Ole ......
计划推出的《ASP.NET实战笔记》,提纲如下: 第一篇 典型的网站架构解决方案
第1章 系统目标
1.1 需求分析
1.2 系统目标
第2章 系统功能预览
2.1 用户管理
2.1.1. ......