东北乱炖=重庆火锅【帮主御用】_AX

就是乱七八糟的东西放在一起!!

防止每次刷新/点击按钮时都对验证控件进行验证,把Button的CausesValidation属性设为false

构造函数没有返回值  不能用void /int等修饰

*.cs出现提示:  Ctrl+J   |   Alt+→

Btton只有用鼠标点击时触发PostBack动作,即用Enter键时不触发该Button的PostBack动作
(焦点不会自动落到Button上)
UseSubmitBehavior属性置为:false

System.Text.RegularExpressions
System.Configuration.ConfigurationSettings.AppSettings["target"]
System.Configuration.ConfigurationManager.AppSettings["InfoRoleKey"]----recommend
System.Configuration.ConfigurationSettings.GetConfig("AX");
System.Web.HttpContext.Current;
System.Web.HttpContext.Current.Cache;
System.Web.HttpContext.Current.Session.Timeout
System.Reflection.Assembly
System.Web.HttpContext.Current    ------------ -------------------//class 中使用Session
System.IO.Path.GetFileName

非Page用到Response
HttpResponse Response = HttpContext.Current.Response;

①script最好不要超过2000行
②你会做,并不意味这你应该做.(已方便用户为主)
③安全性:XHR必须包含URL,恶意用户可能会修改网站
    可以察看源代码.
④XMLHttpRequest/远程脚本
⑤增加<tr>元素:将<tr>元素增加到表的<tbody>元素中
⑥设置class属性:<element>.style.cssText="font-weight:body";


代码片段:Tab Tab

重构:
①提取方法
②重命名
③提取接口
④将局部变量提升为参数
⑤移除参数
⑥重新排列参数
⑦封装字段

类设计器

VS2005新特征:
①Tab可以拖拽
②网站项目*.cs没有命名空间
③Debug有所增强
通过【即时窗口】改变当前要执行的语句

换算时间
正则表达式
二分查找
递归
装箱/拆箱
读写文件

通发??
二级域名怎么配置的??

<         &lt;                  
>       &gt;                      
 &       &amp;                      
 '         &apos;                  
 "     &quot;  


文件完整路径的正则表达式(包括网络路径): (([\w]+:)+\\|(\\\\))([^\/\\\"<>|:]+\\*)*     【RegexBuddy辅助完成】

不包含字符串:^AX_(?!zhz)[\w]+$   AX_zh能Match上.

.cs 的public var can be invoke by JS direct

DataTable转换为XML


System.IO.StringWriter strWriter = new System.IO.StringWriter();
System.Xml.XmlTextWriter xmlWriter 
= new System.Xml.XmlTextWriterXmlTextWriter(strWriter);
dt.WriteXml(xmlWriter);
string s = strWriter.ToString();


判断上传文件的类型是否为 *.xml 类型


//Method 1:simple process
Path.GetExtension(fileUpTool.FileName.Trim()).ToLower() != ".xml"
//Method 2:strict process
fileUpTool.PostedFile.ContentType != "text/xml"


后台输出WebControl变量,供JS脚本使用(WebControl.ClientID)


    protected void Page_Load(object sender, EventArgs e)
    
{
        Response.Write(
"<script language='javascript'>");
        Response.Write(
"var txtAX = '" + this.txtAX.ClientID + "';");
        Response.Write(
"</script>");
    }

获取当前登录用户

this .Request.LogonUserIdentity.Name

过滤DataTable

ds.Tables[ 0 ].Select( " UserName='AX' " " PWD DESC " );

foreach语句 //DropDownList 同 ListBox (每个Item包含Text/Value对)


foreach (ListItem item in ListBox1.Items)

//---------------------------------------
foreach ( DictionaryEntry de in myHT )
{
    
string key=de.Key;
    
string value=de.Value;
}


判断文件是否存在
File.Exist()也可以,

if  ( ! System.IO.Directory.Exists( @" C:\AX.txt " )


WinForm窗体重新画一遍

Application.DoEvents();

只有Repeater有RepeaterColumn属性(控制每行显示多少次循环)

< asp:DataList id = " DataList1 "  runat = " server "  RepeatColumns = " 10 " ></ asp:DataList >

对绑定的参数操作及传递多个参数(<asp:Image id="Image1" runat="server"></asp:Image>不能传递绑定的参数):


1Text='<%#DataBinder.Eval(Container.DataItem,"type").ToString()=="0"?"改为多选":"改为单选"%>'
2<IMG alt="" src="Chart.aspx?subject=<%#Server.UrlEncode(subject)%>&amp;QID=<%#QID%>" align=middle>

正则表达式替换:


 string URL = "[URL=http://www.sina.com.cn]sina[/URL]直接复制地址就可以[URL=http://www.sohu.com]sohu[/URL]afdsafsadf[URL=http://www.163.com]163[/URL]";
        URL 
= System.Text.RegularExpressions.Regex.Replace(URL, @"[[]URL=(?<urlValue>(.*?))[]](?<urlText>(.*?))[[]/URL[]]""<a href='${urlValue}' target=_blank>${urlText}</a>");

        string AX = "abcdzhz";
        AX 
= System.Text.RegularExpressions.Regex.Replace(AX, "abc|abcd""AX");
        
//输出【AXdzhz】,即发现匹配后马上替换.
        Response.Write(AX);

客户端IP及来自的网页


 1using System;
 2using System.Collections;
 3using System.ComponentModel;
 4using System.Data;
 5using System.Drawing;
 6using System.Web;
 7using System.Web.SessionState;
 8using System.Web.UI;
 9using System.Web.UI.WebControls;
10using System.Web.UI.HtmlControls;
11
12namespace ClientIP
13{
14    /**//// <summary>
15    /// WebForm1 的摘要说明。
16    /// </summary>

17    public class WebForm1 : System.Web.UI.Page
18    {
19    
20        private void Page_Load(object sender, System.EventArgs e)
21        {
22            // 在此处放置用户代码以初始化页面
23            if(!this.IsPostBack)
24            {
25                Response.Write("<br>用户IP:"+Request.UserHostAddress);
26                Response.Write("<br>用户IP:"+Request.ServerVariables["remote_addr"]);
27                Response.Write("<br>主机IP:"+Request.Url.Host);
28                Response.Write("<br>文件名:"+System.IO.Path.GetFileName(Request.Url.PathAndQuery));
29                Response.Write("<br>扩展名:"+System.IO.Path.GetExtension(Request.Url.PathAndQuery));
30                Response.Write("<br>上一个网页:"+Request.UrlReferrer);
31            }

32        }

33
34        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
35        override protected void OnInit(EventArgs e)
36        {
37            //
38            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
39            //
40            InitializeComponent();
41            base.OnInit(e);
42        }

43        
44        /**//// <summary>
45        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
46        /// 此方法的内容。
47        /// </summary>

48        private void InitializeComponent()
49        {    
50            this.Load += new System.EventHandler(this.Page_Load);
51
52        }

53        #endregion

54    }

55}

HTML控件创建/添加/删除

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312"   />
< title > Made by AX </ title >
< script  language ="javascript" >
<!--
function   ShowAD()
{
    
var  ADString = GetAD();
    
var  ADs = ADString.split( " | " );
    
var  tr = document.createElement( " <TR> " );    
    
for ( var  i = 0 ;i < ADs.length;i ++ )
    {        
        
var  AD = ADs[i].split( " ; " );
        
var  td = document.createElement( " <TD> " );
        
var  a = document.createElement( " <A target=_blank> " );
        a.href
= AD[ 0 ];
        a.innerHTML
= AD[ 1 ];
        td.appendChild(a);
        tr.appendChild(td);
    }
    
var  tabElement = document.getElementById( " tabAD " );
    
var  tbody = document.createElement( " tbody " );        
    tabElement.appendChild(tbody);
    tbody.appendChild(tr);
}
function   GetAD()
{
    
var  ADString = " http://www.163.com;网易|http://www.baidu.com;百度|http://www.sina.com;新浪 " ;
    
return  ADString;
}
// -->
</ script >
</ head >

< body  onload ="ShowAD();" >
< table  id ="tabAD"  width ='400px'  border ='1'  cellpadding ='1'  cellspacing ='5' >
</ table >
< br >< br >< br >
< div > ①创建Element可以加 <> ,也可以不加,还可以带属性,<a target="_blank"> < br >
②添加Element
< br >
< ul >< li > node.insertBefore(newChild,refChild):在refChild前插入子结点 </ li >
< li > node.appendChild(newChild);子结点插入到最后面 </ li >
< li > node.replaceChild(newChild,oldChild):替换子结点 </ li >
</ ul >
③注意tbody
< div />
</ body >
</ html >

 

URL重定向完美版:(可扩展为根据host重定向)
①Global.asax.cs


 1        protected void Application_BeginRequest(Object sender, EventArgs e)
 2        {
 3            string target,regular;
 4            //URL主机头后面部分
 5            string url=Request.Url.PathAndQuery.ToLower();
 6            //禁止在URL中输入参数
 7            if(url.IndexOf('?')!=-1)
 8            {
 9                url=url.Substring(0,url.IndexOf('?'));
10            }

11            //有多少条规则
12            int count=System.Configuration.ConfigurationSettings.AppSettings.Count;
13            //循环遍历匹配规则
14            for(int i=0;i<count;i++)
15            {
16                //从Web.config里取出规则和符合规则的对应路径
17                target=System.Configuration.ConfigurationSettings.AppSettings.Keys[i].ToLower();                
18                regular="^"+System.Configuration.ConfigurationSettings.AppSettings.GetValues(i)[0]+"$";
19                //替换参数
20                string Target=System.Text.RegularExpressions.Regex.Replace(url,regular,target);
21                if(Target!=url)
22                {
23                    HttpContext.Current.RewritePath(Target);
24                    break;
25                }

26            }

27        
28
29
30
31//            //循环遍历匹配规则(感觉没有上面的性能好,但测测时间都是零,即二者的差别可以忽略不计,
32//            //也就不深究是Match()方法还是比较字符串是否相等性能好了,但上面的少一行代码)
33//            for(int i=0;i<count;i++)
34//            {
35//                //从Web.config里取出规则和符合规则的对应路径
36//                target=System.Configuration.ConfigurationSettings.AppSettings.Keys[i].ToLower();                
37//                regular="^"+System.Configuration.ConfigurationSettings.AppSettings.GetValues(i)[0]+"$";
38//                //进行匹配
39//                System.Text.RegularExpressions.Match match=System.Text.RegularExpressions.Regex.Match(url,regular);
40//                //如匹配成功                
41//                if(match.Length>0)
42//                {
43//                    //替换参数
44//                    target=System.Text.RegularExpressions.Regex.Replace(url,regular,target);
45//                    HttpContext.Current.RewritePath(target);
46//                    //跳出循环
47//                    break;
48//                }
49//            }
50        }

②Web.config

 1<appSettings>
 2<!--真(key):假(value)-->
 3<!--真:真实路径以【~/】表示根路径-->
 4<!--假:与用户输入的主机头以后的部分进行完全匹配-->
 5
 6<!--key不要有重复,否则后果很严重-->
 7<!--使用前请学习一些基本的正则表达式常识-->
 8<!--必须保证实际的路径与规则不匹配,否则会按规则转向-->
 9<!--value中最好不要嵌套括号,也许会发生一些神奇的事件-->
10<!--如果想带参数,一个【$*】对应一个【()】,其中*从1开始-->
11<!--指定扩展名【.ax,.whw,.htm等】需要在IIS里配置后才可使用-->
12<!--参数间的【&】用【&amp;】替换,同理,其它特殊字符也要替换-->
13<!--规则从上至下执行,如有重合的地方,以第一个匹配上的规则为准-->
14<!--页面提交会以当前地址栏的URL+真实页面+参数形式提交,请深入学习正则表达式-->
15<!--请不要怀疑本功能,如果出错,一定是你的错,一般是正则表达式的问题,禁止修改Global-->
16<!--不会配置扩展名,每人/次培训费¥10RMB,免费热线:800-110,包学包会,不会下期免费再学-->
17<!--Whw+AXzhz Made in China-->
18<add key="~/test/AX.aspx?id=$1"            value="/product/(\d+)\.htm"></add>
19<add key="~/test/AX.aspx?id=$1&amp;name=$2&amp;name=$3" value="/(\d{2})/(\d{1})/(\d{1})/[A-Za-z]*\.(htm|aspx)"></add>
20<add key="~/test/AX.aspx?id=$1&amp;name=$2&amp;name=$3&amp;name=$4" value="/(\d{1})/(\d{1})/(\d{1})/(([A-Za-z0-9])*)\.(htm|aspx)"></add>
21<add key="~/TT/WebForm1.aspx" value="/a*\.htm"></add>
22<add key="~/test/AX.aspx?id1=$1" value="/(\d+)\.htm"></add>
23<add key="~/test/AX.aspx?id3=$1" value="/3.htm"></add>
24<add key="~/TT/WebForm1.aspx" value="/45*\.aspx"></add>
25</appSettings>

字符串倒置(以前总笔试总也不敢确定,今天终于测试了一下,OK)

1            string s="hello_XA";
2            string ss="";
3            for(int i=s.Length-1;i>=0;i--)
4            {
5                ss+=s[i];
6            }

7            Response.Write(ss);

添加序号/编号

 1        private void rpShow_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
 2        {
 3            //怎么序号不对???????????------------------------------------------------------------------------------------------
 4            if(e.Item.ItemIndex!=-1)
 5            {                
 6                serialNum=e.Item.ItemIndex+2;
 7            }

 8//            if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
 9//            {
10//                serialNum++;
11//            }
12        }

添加删除提示

 1        private void dlShow_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
 2        {
 3            //添加删除确认            
 4            if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
 5            {
 6                iNumQuestion++;
 7                LinkButton lbt=(LinkButton)e.Item.FindControl("lbtnDel");
 8                lbt.Attributes.Add("onclick","return confirm('确认要删除纪录吗?')");
 9            }

10        }

类似Windows的长随即不重复字符串
Guid g  =  Guid.NewGuid();

CSS Style
< div  style ="overflow-x: auto; overflow-y: scroll; height: 225px; width: 675px; text-align:left"
id
="divFindApplicationContainer"  class ="WrapperDiv2"  runat ="server" >

.TextOverflow
{}{
    overflow
: Hidden;
    Text-Overflow
: Ellipsis;
    white-space
:nowrap;
}

DataTable添加另一个Table的一行
dtNew_AX.Rows.Add(dtOld_AX.Rows[ 0 ].ItemArray);

页面加载完后Show Alert
Page.RegisterStartupScript( " AX " " <script>alert(' "   +  alertMessage_AX  +   " ');</script> " );

通过IP地址找到机器名
ping -a 172.25.0.1

限制HttpRequest的时间和数据大小
时间太小有可能会报这个异常:
Type 'System.Web.HttpApplication+CancelModuleException' in assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' is not marked as serializable.
     < system.web >     
        
<!-- executeTime:单位(″) maxRequestLength:单位(KB) -->
        
< httpRuntime  executionTimeout ="20"  maxRequestLength ="8192"    />
    
</ system.web >

TreeView的Node不做PostBack
new  TreeNode().SelectAction  =  TreeNodeSelectAction.None;

博客园斧头帮少帮主
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值