自我编程总结

心得一:
前台与后台互调方法:
1.后台设置一个公共变量
  如Public string strComm;
  前台可以通过<%=strComm %>调用

2.前台调用对象ID号.如document.all("objID").innerText,在此innerText的属性很重要,不管该对象是隐藏还是可见.但如果该对象是隐藏,在编码中,不能对该对象用obj.Visible=false,设置,如果是前台,可以JAVASCRIPT脚本document.all("objID").style.display=none;来设置.如果是后台,可添加对象属性this.objID.Attributes.Add("style","Display:none");来设置.

3.通过AUTOPOSTBACK属性来返回.

4.通过脚本语句document.forms(0).submit();来返回

5.前台(通过JAVASCRIPT脚本)传值到后台时,用textbox控件最易理解,用Label标签,在后台取不到值.

心得二:
如果单击一个按钮,或者改变页面,修改按钮等,不能返回后台操作.可能此按钮的事件值已经丢失(即未注册监听),可以重新双击按钮得到值.

心得三:
JAVASCRIPT调试
在相应行前输入debugger;在IE选项高级属性中,去除"禁止脚本调试"

心得四:
WEB服务器控件在前台引用后可以得到值,但WEB服务在前台通过脚本的属性赋值后,在后台却得不到值.
分析原因:可能是前后台编辑的属性名不一样,因为后台编辑的控件值属性在显示页面时,已经转换成前台属性,所以可以引用,但反之不然.
比如下拉列表,在前台JAVASCRIPT编写为:
var ddlItem=document.createElement("OPTION");
Source.add(ddlItem);
ddlItem.innerText=Text;
ddlItem.value=Value;
在后台调用值会无显示,即:Source.items.count=0;

心得四:
网页之前的反导航可以通过后台编程
ViewState["ReferrerUrl"] = Request.UrlReferrer.ToString();
Response.Redirect(ViewState["ReferrerUrl"].ToString());
而得到,当然也可以通过脚本得到.如:
Response.Write("<script language=javascript>window.history.back();</script>");

心得五:
要在页面中设置收放模式,布局必须用100%来设定.如:
<tr><td id="webleft" width=100%>...</td><td id="webcenter" width=100%>...</td><td id="webright" width=100%>...</td></tr>
然后可以用脚本来设置<td>元素的显示与隐藏.

心得六:
viewtree控件要点击菜单就展开,而不是每次点击"+"展开,要设定SelectExpand=true.

心得七:
两个页面之前互传信息.前提:两个页面用<iframe>元素嵌套.
用JAVASCRIPT编写可以在窗体1通过window.open("../../../common/chodate.aspx?type="+types,"chodate","");传到窗体2,然后在窗体2通过window.parent.seledate(参数1,参数2)返回值到窗体1.其中seledate是窗体1的一个函数. chodate是iframe的ID

心得八:
Div元素很重要,很多地方都可以用到,当鼠标移动到某一行上,显示一些信息,都可以用DIV元素来做.
如:<DIV id=detail style="FILTER: shadow(color=#333333,direction=135); HEIGHT: 120px; POSITION: absolute; WIDTH: 140px; Z-INDEX: 3"></DIV>
其中position属性一定要写为absolute.详情,可以参考DotNET帮助文档.Style属性可以做出很多特效.
通过输入Visual Filters and Transitions Reference可以查找出各滤镜的例子.

心得九:如果要取某一网页的内容,可以用Web Client控件(ASP.NET自带的),如下方法可以把big5码转换成gb2312码.同理,可以操作任何编码之间的转换
public string getGB2312FromBig5(string strURI)
{
byte[] myDataBuffer =this.ctrWebClient.DownloadData(strURL);
//    Encoding utf8 = Encoding.UTF8;
    Encoding big5 = Encoding.GetEncoding("big5");
    char[] big5Chars=big5.GetChars(myDataBuffer);
    byte[] big5Bytes=big5.GetBytes(big5Chars);
    string strTemp=Encoding.UTF8.GetString(myDataBuffer);
//    byte[] unicodeBytes = utf8.GetBytes(strTemp);
    Encoding gb2312 = Encoding.GetEncoding("gb2312");
    byte[] asciiBytes = Encoding.Convert(big5, gb2312, big5Bytes);
    char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
    gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
    return new string(asciiChars);
}

心得十:可以在网页中取出除HTML元素以外的正则表达式
Regex.Replace(strNew, @"</?[tafdcmsbip][^>]*>", string.Empty, RegexOptions.IgnoreCase);其中t-table,a-a,f-font,d-div,c-center,m-meta,s-size,b-bold/b/body,i-input,p-p;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值