<strong>1. 打开新的窗口并传送参数:</strong>
传送参数:
response.write(‘window.open(“*.aspx?id=’+this.DropDownList1.SelectIndex+’&id1=’+…+'”)’)
接收参数:
string a = Request.QueryString(‘id’);
string b = Request.QueryString(‘id1’);
<strong>2.为按钮添加对话框</strong>
传送参数:
response.write(‘window.open(“*.aspx?id=’+this.DropDownList1.SelectIndex+’&id1=’+…+'”)’)
接收参数:
string a = Request.QueryString(‘id’);
string b = Request.QueryString(‘id1’);
<strong>2.为按钮添加对话框</strong>
Button1.Attributes.Add(‘onclick’,’return confirm(“确认?”)’);
button.attributes.add(‘onclick’,’if(confirm(“are you sure…?”)){return true;}else{return false;}’)
<strong>3.删除表格选定记录</strong>
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = ‘Delete from Employee where emp_id = ‘ + intEmpID.ToString()
<strong>4.删除表格记录警告</strong>
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Cells[14];
LinkButton myDeleteButton ;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add(‘onclick’,’return confirm(“您是否确定要删除这条信息”);’);
break;
default:
break;
}
}
<strong>5.点击表格行链接另一页</strong>
private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//点击表格打开
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Attributes.Add(‘onclick’,’window.open(“Default.aspx?id=’ + e.Item.Cells[0].Text + ‘”);’);
}
双击表格连接到另一页
在itemDataBind事件中
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string orderItemID =e.item.cells[1].Text;
…
e.item.Attributes.Add(‘ondblclick’, ‘location.href=”../ShippedGrid.aspx?id=’ + orderItemID + ‘”‘);
}
双击表格打开新一页
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string orderItemID =e.item.cells[1].Text;
…
e.item.Attributes.Add(‘ondblclick’, ‘open(“../ShippedGrid.aspx?id=’ + orderItemID + ‘”)’);
}
★特别注意:【?id=】 处不能为 【?id =】
<strong>6.表格超连接列传递参数</strong>
” & name=”” />
<b>7.表格点击改变颜色
</b>if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add(‘onclick’,’this.style.backgroundColor=”#99cc00″;this.style.color=”buttontext”;this.style.cursor=”default”;’);
}
写在DataGrid的_ItemDataBound里
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add(‘onmouseover’,’this.style.backgroundColor=”#99cc00″;this.style.color=”buttontext”;this.style.cursor=”default”;’);
e.Item.Attributes.Add(‘onmouseout’,’this.style.backgroundColor=””;this.style.color=””;’);
}
<strong>8.关于日期格式</strong>
日期格式设定
DataFormatString='{0:yyyy-MM-dd}’
我觉得应该在itembound事件中
e.items.cell[‘你的列’].text=DateTime.Parse(e.items.cell[‘你的列’].text.ToString(‘yyyy-MM-dd’))
<b>9.获取错误信息并到指定页面
</b>不要使用Response.Redirect,而应该使用Server.Transfer
e.g
// in global.asax
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer(‘MyErrorPage.aspx’);
//其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)
}
Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
<strong>10.清空Cookie</strong>
Cookie.Expires=[DateTime];
Response.Cookies(‘UserName’).Expires = 0
<strong>11.自定义异常处理</strong>
//自定义异常处理类
using System;
using System.Diagnostics;
namespace MyAppException
{
///
/// 从系统异常类ApplicationException继承的应用程序异常处理类。
/// 自动将异常内容记录到Windows NT/2000的应用程序日志
///
public class AppException:System.ApplicationException
{
public AppException()
{
if (ApplicationConfiguration.EventLogEnabled)
LogEvent(‘出现一个未知错误。’);
}
public AppException(string message)
{
LogEvent(message);
}
public AppException(string message,Exception innerException)
{
LogEvent(message);
if (innerException != null)
{
LogEvent(innerException.Message);
}
}
//日志记录类
using System;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading;
namespace MyEventLog
{
///
/// 事件日志记录类,提供事件日志记录支持
///
/// 定义了4个日志记录方法 (error, warning, info, trace)
///
///
public class ApplicationLog
{
///
/// 将错误信息记录到Win2000/NT事件日志中
///
需要记录的文本信息
///
public static void WriteError(String message)
{
WriteLog(TraceLevel.Error, message);
}
///
/// 将警告信息记录到Win2000/NT事件日志中
///
需要记录的文本信息
///
public static void WriteWarning(String message)
{
WriteLog(TraceLevel.Warning, message);
}
///
/// 将提示信息记录到Win2000/NT事件日志中
///
需要记录的文本信息
///
public static void WriteInfo(String message)
{
WriteLog(TraceLevel.Info, message);
}
///
/// 将跟踪信息记录到Win2000/NT事件日志中
///
需要记录的文本信息
///
public static void WriteTrace(String message)
{
WriteLog(TraceLevel.Verbose, message);
}
///
/// 格式化记录到事件日志的文本信息格式
///
需要格式化的异常对象
///
异常信息标题字符串.
///
///
格式后的异常信息字符串,包括异常内容和跟踪堆栈.
///
///
public static String FormatException(Exception ex, String catchInfo)
{
StringBuilder strBuilder = new StringBuilder();
if (catchInfo != String.Empty)
{
strBuilder.Append(catchInfo).Append(‘
‘);
}
strBuilder.Append(ex.Message).Append(‘
‘).Append(ex.StackTrace);
return strBuilder.ToString();
}
///
/// 实际事件日志写入方法
///
要记录信息的级别(error,warning,info,trace).
///
要记录的文本.
///
private static void WriteLog(TraceLevel level, String messageText)
{
try
{
EventLogEntryType LogEntryType;
switch (level)
{
case TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
break;
case TraceLevel.Warning:
LogEntryType = EventLogEntryType.Warning;
break;
case TraceLevel.Info:
LogEntryType = EventLogEntryType.Information;
break;
case TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
break;
default:
LogEntryType = EventLogEntryType.SuccessAudit;
break;
}
EventLog eventLog = new EventLog(‘Application’, ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );
//写入事件日志
eventLog.WriteEntry(messageText, LogEntryType);
}
catch {} //忽略任何异常
}
} //class ApplicationLog
}
<strong>12.Panel 横向滚动,纵向自动扩展</strong>
<strong>13.回车转换成Tab</strong>
if(event.keyCode==13 && event.srcElement.type!=”button” && event.srcElement.type!=”submit” && event.srcElement.type!=”reset” && event.srcElement.type!=””&& event.srcElement.type!=”textarea”);
event.keyCode=9;
onkeydown=’if(event.keyCode==13) event.keyCode=9′
<a href=”http://dotnet.aspx.cc/exam/enter2tab.aspx” target=”_blank”><span style=”color: #339933;”>http://dotnet.aspx.cc/exam/enter2tab.aspx</span></a>
<strong>14.DataGrid超级连接列</strong>
DataNavigateUrlField=’字段名’ DataNavigateUrlFormatString='<a href=”http://xx/inc/delete.aspx?ID={0″ target=”_blank”><span style=”color: #339933;”>http://xx/inc/delete.aspx?ID={0</span></a>}’
<strong>15.DataGrid行随鼠标变色</strong>
private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( ‘onmouseout’,’this.style.backgroundColor=”+e.Item.Style[‘BACKGROUND-COLOR’]+”’);
e.Item.Attributes.Add( ‘onmouseover’,’this.style.backgroundColor=”+ ‘#EFF3F7’+”’);
}
}
<strong>16.模板列</strong>
” runat=’server’ width=’80%’ id=’lblColumn’ />
后台代码
protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)
{
//改变列的选定,实现全选或全不选。
CheckBox chkExport ;
if( CheckAll.Checked)
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl(‘chkExport’);
chkExport.Checked = true;
}
}
else
{
foreach(DataGridItem oDataGridItem in MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl(‘chkExport’);
chkExport.Checked = false;
}
}
}
<strong>17.数字格式化</strong>
【的结果是500.0000,怎样格式化为500.00?】
int i=123456;
string s=i.ToString(‘###,###.00’);
<strong>18.日期格式化</strong>
【aspx页面内:
显示为: 2004-8-11 19:44:28
我只想要:2004-8-11 】
应该如何改?
【格式化日期】
取出来,一般是object
((DateTime)objectFromDB).ToString(‘yyyy-MM-dd’);
【日期的验证表达式】
A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(s(((0?[1-9])|(1[0-2])):([0-5][0-9])((s)|(:([0-5][0-9])s))([AM|PM|am|pm]{2,2})))?$
B.以下正确的输入格式:[0001-12-31], [9999 09 30], [2002/03/03]
^d{4}[-/s]?((((0[13578])|(1[02]))[-/s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[-/s]?(([0-2][0-9])|(30)))|(02[-/s]?[0-2][0-9]))$
【大小写转换】
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
<strong>19.如何设定全局变量</strong>
Global.asax中
Application_Start()事件中
添加Application[属性名] = xxx;
就是你的全局变量
<strong>20.怎样作到HyperLinkColumn生成的连接后,点击连接,打开新窗口?</strong>
HyperLinkColumn有个属性Target,将器值设置成’_blank’即可.(Target=’_blank’)
【ASPNETMENU】点击菜单项弹出新窗口
在你的menuData.xml文件的菜单项中加入URLTarget=’_blank’
如:
……
最好将你的aspnetmenu升级到1.2版
<strong>21.委托讨论</strong>
<a href=”http://community.csdn.net/Expert/topic/2651/2651579.xml?temp=.7183191″ target=”_blank”><span style=”color: #339933;”>http://community.csdn.net/Expert/topic/2651/2651579.xml?temp=.7183191</span></a>
<a href=”http://dev.csdn.net/develop/article/22/22951.shtm” target=”_blank”><span style=”color: #339933;”>http://dev.csdn.net/develop/article/22/22951.shtm</span></a>
<strong>22.读取DataGrid控件TextBox值</strong>
foreach(DataGrid dgi in yourDataGrid.Items)
{
TextBox tb = (TextBox)dgi.FindControl(‘yourTextBoxId’);
tb.Text….
}
<strong>23.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能?</strong>
〖思归〗
”
onkeyup=’javascript:DoCal()’
/>
”
onkeyup=’javascript:DoCal()’
/>
” />
function DoCal()
{
var e = event.srcElement;
var row = e.parentNode.parentNode;
var txts = row.all.tags(‘INPUT’);
if (!txts.length || txts.length
if (isNaN(q) || isNaN(p))
return;
q = parseInt(q);
p = parseFloat(p);
txts[txts.length-1].value = (q * p).toFixed(2);
}
<strong>24.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了</strong>
page_load
page.smartNavigation=true
<strong>25.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?</strong>
private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)
{
for(int i=0;i
}
}
<strong>26.对话框</strong>
private static string ScriptBegin = ”;
private static string ScriptEnd = ”;
public static void ConfirmMessageBox(string PageTarget,string Content)
{
string ConfirmContent=’var retValue=window.confirm(“‘+Content+'”);’+’if(retValue){window.location=”‘+PageTarget+'”;}’;
ConfirmContent=ScriptBegin + ConfirmContent + ScriptEnd;
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript(‘confirm’,ConfirmContent);
//Response.Write(strScript);
}
<span style=”font-size: 10px;”><span style=”font-family: ‘Times;”>----------------------------------------</span></span>
<span style=”font-size: 10px;”><span style=”font-family: ‘Times;”>27. </span></span>将时间格式化:string aa=DateTime.Now.ToString(‘yyyy年MM月dd日’);
<span style=”font-size: 12px;”><span style=”font-family: ‘Times;”> </span></span>1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年= DateTime.Now.Year;
1.3 取当前月
int 月= DateTime.Now.Month;
1.4 取当前日
int 日= DateTime.Now.Day;
1.5 取当前时
int 时= DateTime.Now.Hour;
1.6 取当前分
int 分= DateTime.Now.Minute;
1.7 取当前秒
int 秒= DateTime.Now.Second;
1.8 取当前毫秒
int 毫秒= DateTime.Now.Millisecond;
28.自定义分页代码:
<span style=”font-size: 12px;”><span style=”font-family: ‘Times;”> </span></span>先定义变量 :public static int pageCount; //总页面数
public static int curPageIndex=1; //当前页面
下一页:
if(DataGrid1.CurrentPageIndex
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex+=1;
}
bind(); // DataGrid1数据绑定函数
上一页:
if(DataGrid1.CurrentPageIndex >0)
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex-=1;
}
bind(); // DataGrid1数据绑定函数
直接页面跳转:
int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()为跳转值
if(a
{
this.DataGrid1.CurrentPageIndex=a;
}
bind();
<span style=”font-size: 12px;”><span style=”font-family: ‘Times;”>29</span></span>.DataGrid使用:
3.1添加删除确认:
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
foreach(DataGridItem di in this.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Item||di.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)di.Cells[8].Controls[0]).Attributes.Add(‘onclick’,’return confirm(“确认删除此项吗?”);’);
}
}
}
3.2样式交替:
ListItemType itemType = e.Item.ItemType;
if (itemType == ListItemType.Item )
{
e.Item.Attributes[‘onmouseout’] = ‘javascript:this.style.backgroundColor=”#FFFFFF”;’;
e.Item.Attributes[‘onmouseover’] = ‘javascript:this.style.backgroundColor=”#d9ece1″;cursor=”hand”;’ ;
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes[‘onmouseout’] = ‘javascript:this.style.backgroundColor=”#a0d7c4″;’;
e.Item.Attributes[‘onmouseover’] = ‘javascript:this.style.backgroundColor=”#d9ece1″;cursor=”hand”;’ ;
}
3.3添加一个编号列:
DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //执行sql返回的DataTable
DataColumn dc=dt.Columns.Add(‘number’,System.Type.GetType(‘System.String’));
for(int i=0;i
{
dt.Rows<i>[‘number’]=(i+1).ToString();
}
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
3.4 DataGrid1中添加一个CheckBox,页面中添加一个全选框
private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)
{
foreach(DataGridItem thisitem in DataGrid1.Items)
{
((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;
}
}
将当前页面中DataGrid1显示的数据全部删除
foreach(DataGridItem thisitem in DataGrid1.Items)
{
if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)
{
string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();
Del (strloginid); //删除函数
}
}
30.当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在Web.config,然后在Global.asax中初始化)
在Application_Start中添加以下代码:
Application[‘ConnStr’]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.AppSettings[‘ConnStr’].ToString();
<span style=”font-size: 12px;”><span style=”font-family: ‘Times;”>31</span></span>. 变量.ToString()
字符型转换 转为字符串
12345.ToString(‘n’); //生成 12,345.00
12345.ToString(‘C’); //生成 ¥12,345.00
12345.ToString(‘e’); //生成 1.234500e+004
12345.ToString(‘f4’); //生成 12345.0000
12345.ToString(‘x’); //生成 3039 (16进制)
12345.ToString(‘p’); //生成 1,234,500.00%
32、变量.Substring(参数1,参数2);
截取字串的一部分,参数1为左起始位数,参数2为截取几位。
如:string s1 = str.Substring(0,2);
<span style=”font-family: ‘Times;”>33</span>.在自己的网站上登陆其他网站:<span style=”font-family: ‘Times;”>(</span>如果你的页面是通过嵌套方式的话,因为一个页面只能有一个<span style=”font-family: ‘Times;”>FORM</span>,这时可以导向另外一个页面再提交登陆信息)
function gook(pws)
{
frm.submit();
}
//–>
<span style=”font-family: ‘Times;”><span style=”font-size: 12px;”> http://220.194.55.68:6080/login.php?retid=7259</span></span> ‘ method=’post’>
文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用<span style=”font-family: ‘Times;”>vsniffer </span>看看。
下面是获取用户输入的登陆信息的代码:
string name;
name=Request.QueryString[‘EmailName’];
try
{
int a=name.IndexOf(‘@’,0,name.Length);
f_user.Value=name.Substring(0,a);
f_domain.Value=name.Substring(a+1,name.Length-(a+1));
f_pass.Value=Request.QueryString[‘Psw’];
}
catch
{
Script.Alert(‘错误的邮箱!’);
Server.Transfer(‘index.aspx’);
}
c#.net常用的小函数
<b>1、DateTime 数字型
</b>System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour;
1.6 取当前分
int 分=currentTime.Minute;
1.7 取当前秒
int 秒=currentTime.Second;
1.8 取当前毫秒
int 毫秒=currentTime.Millisecond;
<strong>(变量可用中文)</strong>
1.9 取中文日期显示——年月日时分
string strY=currentTime.ToString(‘f’); //不显示秒
1.10 取中文日期显示_年月
string strYM=currentTime.ToString(‘y’);
1.11 取中文日期显示_月日
string strMD=currentTime.ToString(‘m’);
1.12 取当前年月日,格式为:2003-9-23
string strYMD=currentTime.ToString(‘d’);
1.13 取当前时分,格式为:14:24
string strT=currentTime.ToString(‘t’);
<strong>2、Int32.Parse(变量) Int32.Parse(‘常量’)</strong>
字符型转换 转为32位数字型
<strong>3、 变量.ToString() </strong>
字符型转换 转为字符串
12345.ToString(‘n’); //生成 12,345.00
12345.ToString(‘C’); //生成 ¥12,345.00
12345.ToString(‘e’); //生成 1.234500e+004
12345.ToString(‘f4’); //生成 12345.0000
12345.ToString(‘x’); //生成 3039 (16进制)
12345.ToString(‘p’); //生成 1,234,500.00%
<strong>4、变量.Length 数字型</strong>
取字串长度:
如: string str=’中国’;
int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名
<strong>5、System.Text.Encoding.Default.GetBytes(变量)</strong>
字码转换 转为比特码
如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
然后可得到比特长度:
len = bytStr.Length;
<strong>6、System.Text.StringBuilder(”)</strong>
字符串相加,(+号是不是也一样?)
如:System.Text.StringBuilder sb = new System.Text.StringBuilder(”);
sb.Append(‘中华’);
sb.Append(‘人民’);
sb.Append(‘共和国’);
<strong>7、变量.Substring(参数1,参数2);</strong>
截取字串的一部分,参数1为左起始位数,参数2为截取几位。
如:string s1 = str.Substring(0,2);
<strong>8、String user_IP=Request.ServerVariables[‘REMOTE_ADDR’].ToString();</strong>
取远程用户IP地址
<strong>9、穿过代理服务器取远程用户真实IP地址:</strong>
if(Request.ServerVariables[‘HTTP_VIA’]!=null){
string user_IP=Request.ServerVariables[‘HTTP_X_FORWARDED_FOR’].ToString();
}else{
string user_IP=Request.ServerVariables[‘REMOTE_ADDR’].ToString();
}
<strong>10、 Session[‘变量’]; </strong>
存取Session值;
如,赋值: Session[‘username’]=’小布什’;
取值: Object objName=Session[‘username’];
String strName=objName.ToString();
清空: Session.RemoveAll();
<strong>11、String str=Request.QueryString[‘变量’]; </strong>
用超链接传送变量。
如在任一页中建超链接:点击
在Edit.aspx页中取值:String str=Request.QueryString[‘fdid’];
<strong>12、DOC对象.CreateElement(‘新建节点名’);</strong>
创建XML文档新节点
<strong>13、父节点.AppendChild(子节点);</strong>
将新建的子节点加到XML文档父节点下
<strong>14、 父节点.RemoveChild(节点);</strong>
删除节点
<strong>15、Response </strong>
Response.Write(‘字串’);
Response.Write(变量);
向页面输出。
Response.Redirect(‘URL地址’);
跳转到URL指定的页面
<strong>16、char.IsWhiteSpce(字串变量,位数)——逻辑型 </strong>
查指定位置是否空字符;
如:
string str=’中国 人民’;
Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。
<strong>17、char.IsPunctuation(“字符”) –逻辑型</strong>
查字符是否是标点符号
如:Response.Write(char.IsPunctuation(“A”)); //返回:False
<strong>18、(int)”字符”</strong>
把字符转为数字,查代码点,注意是单引号。
如:
Response.Write((int)”中”); //结果为中字的代码:20013
<strong>19、(char)代码</strong>
把数字转为字符,查代码代表的字符。
如:
Response.Write((char)22269); //返回“国”字。
<strong>20、 Trim()</strong>
清除字串前后空格
<strong>21 、字串变量.Replace(‘子字串’,’替换为’)</strong>
字串替换
如:
string str=’中国’;
str=str.Replace(‘国’,’央’); //将国字换为央字
Response.Write(str); //输出结果为“中央”
再如:(这个非常实用)
string str=’这是脚本’;
str=str.Replace(”); //将左尖括号替换为 与 (或换为脚本”
如果不替换,将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。
这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。
具体实现:将你的表单提交按钮脚本加上下面代码:
string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。
strSubmit=strSubmit.Replace(”);
然后保存或输出strSubmit。
用此方法还可以简单实现UBB代码。
<strong>22、Math.Max(i,j)</strong>
取i与j中的最大值
如 int x=Math.Max(5,10); // x将取值 10
<strong>23、字串对比一般都用: if(str1==str2){ } , 但还有别的方法: </strong>
(1)、
string str1; str2
//语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:
if(str1.EndsWith(str2)){ Response.Write(‘字串str1是以’+str2+’结束的’); }
(2)、
//语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
(3)、
//语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
<strong>24、IndexOf() 、LastIndexOf()</strong>
查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如:
str1.IndexOf(‘字’); //查找“字”在str1中的索引值(位置)
str1.IndexOf(‘字串’);//查找“字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf(‘字串’,3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)
<strong>25、Insert()</strong>
在字串中指定索引位插入指定字符。如:
str1.Insert(1,’字’);在str1的第二个字符处插入“字”,如果str1=’中国’,插入后为“中字国”;
<strong>26、PadLeft()、PadRight()</strong>
在字串左(或右)加空格或指定char字符,使字串达到指定长度,如:
<strong>27、Remove() </strong>
从指定位置开始删除指定数的字符
字串对比一般都用: if(str1==str2){ } , 但还有别的方法:
1、
string str1; str2
//语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:
if(str1.EndsWith(str2)){ Response.Write(‘字串str1是以’+str2+’结束的’); }
2、
//语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
3、
//语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
<strong>28、IndexOf() </strong>
查找字串中指定字符或字串首次出现的位置,返首索引值,如:
str1.IndexOf(‘字’); //查找“字”在str1中的索引值(位置)
str1.IndexOf(‘字串’);//查找“字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf(‘字串’,3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)
String 和StringBuilder 的区别
<strong>System.String</strong> 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错。但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。
而使用System.Text命名空间下面的<strong>StringBuilder</strong>类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。如果想要编写将连续操作依次连接起来的单个语句,这将很方便。
1 . <span style=”color:#ff0000″>String 和 string 区别<b>
</b></span>
就像int实际上是System.Int32一样,string是映射了System.String FCL类型的关键字,是System.String的别名。使用上没有任何不同,因为编译器会将string编译为System.String。
2. <span style=”color: #ff0000;”>判断string为空时,s == string.Empty ; s == ”; s.Length == 0; 区别</span>
通常情况下,这三种方式是等价的。性能稍有不同。
按照性能从高到低的顺序是:
s.Length == 0 优于 s == string.Empty 优于 s == ”
编译后可知。
—————————————————————–
> str.Length == 0
ldloc.0
callvirt instance int32 [mscorlib]System.String::get_Length()
> str.== string.empty
ldloc.0
ldsfld string [mscorlib]System.String::Empty
callvirt instance bool [mscorlib]System.String::Equals(string)
> str == ”
ldloc.0
ldstr ”
call bool [mscorlib]System.String::op_Equality(string,string)