在DataList的事件函数中通过参数e.Item.FindControl(“控件ID”)不能搜索Footer模版和Header模版以及分割符模版。如果需要访问Footer模版中的子控件,可以通过操作:DataList.Controls[DataList.Controls.Count -1].FindControl("控件ID")).Text来访问Footer模版中的子控件
SqlDataAdapter.InsertCommand、SqlDataAdapter.UpdateCommand以及其他命令行,不能添加同一个参数对象,例子:
SqlParameter para = new SqlParameter(“@Demo”,SqlDbType.Int,2,”源列(即是表中对应的列名)”);
InsertCommand.Parameters.Add(para);
UpdateCommand.Parameters.Add(para);
上面的两句SqlDataAdapter对象的插入和更新命令行,插入同一个参数对象,这样是不允许的,不过构造参数para对象时的”@Demo”名字可以相同,这个没有要求,下面的操作就是正确的,例子:
SqlParameter para1 = new SqlParameter(“@Demo”,SqlDbType.Int,2,”源列(即是表中对应的列名)”);
SqlParameter para2 = new SqlParameter(“@Demo”,SqlDbType.Int,2,”源列(即是表中对应的列名)”);
InsertCommand.Parameters.Add(para1);
UpdateCommand.Parameters.Add(para2);
这个操作是正确的
SQL中Top关键字后面不能跟变量。set rowcount 整数值,不能嵌套。
一切关于浏览器信息的获取,一定要首先想到Request对象
如果没有指定Cookies对象的有效期,则Cookies对象只存在于客户端的内存。当浏览器关闭时,Cookies就会失效,所以如果要保存Cookies对象,必须显式指定Cookies对象的有效期。还有如果只关闭部分网页并且没有显式指定Cookies对象的有效期,不影响Cookie的存在。
Response是用来保存Cookies对象的,而要访问需要通过Request对象,切记不要记混了
前提是Response.Cookies[“CookieName”]已经注册在客户端中了,而后通过Response.Cookies[“CookieName”]这样的形式访问后,对应的value值变成NULL,不过Cookie对象不是NULL,具体原因不知道,而通过Request.Cookies(“CooieName”)形式访问后,不改变对应的值,只是访问。例子:
string strTest = Response.Cookies["CookieName"].Value;
这样操作,strTest为NULL,不论CookieName原先有没有值
string strTest = Request.Cookies["CookieName"].Value;
这样可以正常获取Cookie值
注意前提是Cookie以前注册过