1)创建Dataset对象的副本,以至于对象出现变化时不会影响副本的数据。DataTable Tdb = NokiaDataset.Tables["Nokia_Relation_DnAndHawb"].Copy();
2)给GridView的某行加颜色,在RowDataBound事件中
protected void DG_RowDataBound(object sender, GridViewRowEventArgs e) ...{ if (e.Row.RowType == DataControlRowType.DataRow) ...{ int num = e.Row.Cells.Count; if (e.Row.Cells[e.Row.Cells.Count - 2].Text.ToUpper().Trim() == "ERROR" ) ...{ for (int i = 0; i < num; i++) ...{ e.Row.Cells[i].ForeColor = Color.Red; } } } }
3)根据XML文档去构建表结构
public static DataSet CreateDataTable() ...{ DataSet ds = new DataSet(); try ...{ XmlDocument xmldoc = new XmlDocument(); string Filepath = AppDomain.CurrentDomain.BaseDirectory + "cb/Script/ModsField.xml"; xmldoc.Load(Filepath); XmlNodeList topM = xmldoc.DocumentElement.ChildNodes; foreach (XmlElement element in topM) ...{ DataTable NewTable = new DataTable(element.Name.ToLower()); NewTable.Columns.Add("BOOKING_NO", typeof(string)); NewTable.Columns.Add("SO_NO", typeof(string)); XmlNodeList nodelist = element.ChildNodes; if (nodelist.Count > 0) ...{ int i = 0; foreach (XmlElement el in nodelist)//读元素值 ...{ i = i + 1; NewTable.Columns.Add(el.Attributes["name"].Value, typeof(string)); } } ds.Tables.Add(NewTable); } } catch (Exception ex) ...{ throw ex; } return ds; }
4)Context.Items["MyObject"]=主要用法 1、在两个表单之间传递数据
Context.Items["WebForm1List"]=list; Server.Transfer("WebForm2.aspx");
对于WebForm2
ArrayListlist=Context.Items["WebForm1List"]asArrayList;
5)控件绑定弹出窗体页面
btmBatchItem.Attributes.Add("onclick", "javascript: return confirm('Are you sure to batch submit')");
6)App_Themes目录下放css样式
7)项目文件多的时候,为了能够使文件名称的唯一性,尽量在文件头加上namespace
namespace STS.PREReport ...{ public partial class New_Report_BizReport : System.Web.UI.Page ...{ } }
8)GridView中的CheckBox被选中时,数据行背景用高亮颜色显示,取消时,恢复原状。
function changeRowBgColor(obj) { var objRow = obj.parentElement.parentElement; if (obj.checked) { objRow.style.backgroundColor = "#ffdab9"; } else { objRow.style.backgroundColor = ""; } }
9)根据"SHAPT00004013",在后面每次加一生成一个单号,前面补0
string str8 = Convert.ToString(Convert.ToInt32(ORDERNO.Substring(5, 8)) + 1); if (str8.Length < 8) str8 = "00000000".Substring(0, 8 - str8.Length) + str8;
10)hastable转化为类emp1是hastable类,转化为gowuche类
gowuche g = (gowuche)emp1[empValue];
11)今天有个同事出现很怪的问题,程序在本地运行没有问题,发布到服务器上就有问题,后来发现原来程序里面他定义的变量名称和控件名称重叠了。
12)System.Web.UI.WebControls.ContentPlaceHolder 类
Defines a region for content in an ASP.NET master page.
13)
14)字符串截取固定长度的方法
解决了汉字与英文字节不一样导致直接截取到的长
度不一样的问题,
15).net ref 的用法
使用 ref 是传的引用,如果在此方法里面更改参数的值,那此参数对应的变量的值也会被更改。
16) string b = s;
string c = String.Intern(s);
可以用Intern()函数来进行字符串的驻留(如果有这样的值存在)。
17)C#里的foreach
C#语言从VB中吸取了一个非常实用的foreach语句。对所有支持IEnumerable接口的类的实例,foreach语句使用统一的接口遍历其子 项,使得以前冗长的for循环中繁琐的薄记工作完全由编译器自动完成。支持IEnumerable接口的类通常用一个内嵌类实现IEnumerator接 口,并通过IEnumerable.GetEnumerator函数,允许类的使用者如foreach语句完成遍历工作。
18)通过查询条件从DataTable中查询出要的记录
DataRow[] VSelectProject;
DataTable APrivilege
VSelectProject = APrivilege.Select(string.Format("privilege_key = '{0}'", VPrivilegeKey));
19)lock 语句(C# 参考)
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。此语句的形式如下:
Object thisLock = new Object(); lock (thisLock) ...{ // Critical code section }
lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待(即被阻止),直到该对象被释放。
20)禁止页面缓存
Response.Cache.SetCacheability(HttpCacheability.NoCache);
21)网格里面的数据太长,鼠标放在上面可以显示出所有的数据,下面的框显示出‘666666666666666666666666666’的数据
//Origin/Copy var newCol2 = newRow.insertCell(); newCol2.className = "td_one"; newCol2.innerHTML = "<input type='text' onblur='CheckListOrgCopy(this)' style='width:100%;border:0px' title='6666666666666666666666666666' value='" + col2 + "'>";
22)如何用VS2005制作Web安装程序
http://blog.csdn.net/cqfeng/archive/2006/02/17/601506.aspx
23)淘宝网开放平台API
http://open.taobao.com/dev/index.php/%E6%B7%98%E5%AE%9DAPI%E6%A0%87%E5%87%86%E7%A4%BA%E4%BE%8B#C.23.E8.AE.BF.E9.97.AE.E4.B8.80.E4.B8.AAAPI.E6.9C.8D.E5.8A.A1