|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;asp.net|程序|asp.net跟着微软.NET的盛行,ASP.NET愈来愈为宽大开辟职员所承受。作为ASP.NET的开辟职员,我们不但必要把握其基础的道理,更要多多理论,从理论中猎取真实的开辟伎俩。在我们的实践开辟中,常常基础的道理满意不了开辟需求,我们更多的要堆集一些开辟技能,本文就向人人先容一些有用技能,但愿对人人的开辟有所裨益。
1.~的用法
一样平常的情形下,我们是利用./../如许的绝对路径来断定和计划我们的资本(好比图片、资本文件),但这类体例下在我们部署使用的时分,大概会堕落,别的关于.ascx的控件中假如包括了一个图片,而这个控件被我们在分歧条理的两个目次的aspx文件分离援用时,成绩就会呈现了。
~/image/about.bmp是一种十分好的办法,它以Web使用程序的根目次为肇端点,如许使得比你利用./image/about.bmp如许的体例要加倍天真和便利。有一点欠好,是这类体例是在ASP.NET运转时静态剖析的,以是在IDE计划形式中,你大概不克不及预览它。
2.在革新和提交页面后,保留你的页面转动条的地位
常常有如许的情形,我们必要用户提交一个表单,可是表单中有凌驾500+个?控件或文本框要填写,也就是说用户必要拉动IE的转动条才干够填得完,那末假设用户正在可见IE局限的2/3处,选择了一个组合框的值,很不幸组合框是服务器真个,那末也就意味着页面会提交一次,而当用户再瞥见革新过的页面时,页面断定在3/1的中央也就是显现在页面最入手下手的中央,用户只要拖动鼠标,然后接着方才的中央再填写剩下的250个控件,很不幸,370个控件又必要他选择一下?
用上面的办法能够很快地断定和记着你提交前的地位。
网上的OldDogLearnsNewTricks也有一个相似的例子MaintainScrollPositioninanyPageElement,不外他利用了WebBehavior这意味着你必要利用一个.htc文件
PrivateSubRetainScrollPosition()
DimsaveScrollPositionAsNewStringBuilder
DimsetScrollPositionAsNewStringBuilder
RegisterHiddenField("__SCROLLPOS","0")
saveScrollPosition.Append("<scriptlanguage=javascript>")
saveScrollPosition.Append("functionsaveScrollPosition(){")
saveScrollPosition.Append("document.forms[0].__SCROLLPOS.value=thebody.scrollTop;")
saveScrollPosition.Append("}")
saveScrollPosition.Append("thebody.onscroll=saveScrollPosition;")
saveScrollPosition.Append("</script>")
RegisterStartupScript("saveScroll",saveScrollPosition.ToString())
If(Page.IsPostBack=True)Then
setScrollPosition.Append("<scriptlanguage=javascript>")
setScrollPosition.Append("functionsetScrollPosition(){")
setScrollPosition.Append("thebody.scrollTop="&Request("__SCROLLPOS")&";")
setScrollPosition.Append("}")
setScrollPosition.Append("thebody.onload=setScrollPosition;")
setScrollPosition.Append("</script>")
RegisterStartupScript("setScroll",setScrollPosition.ToString())
EndIf
EndSub
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
RetainScrollPosition()
EndSub
3.DataList利用分歧作风的模板
这招也十分有用,你能够制造两个分歧的模板或体现情势,分离以.ascx控件的情势保留,运转时依据某个前提静态的选择利用个中的一个模板,别的ScottGu以为ItemDataBound办法也能够定制你显现的体现,好比加亮某个元素或是加一个促销告白图等等。
DimthemeAsString
theme=DropDownList1.SelectedValue
DataList1.ItemTemplate=Page.LoadTemplate(theme&".ascx")---Cool
DataList1.DataSource=DS
DataList1.DataBind()
4.设置服务器端控件的核心
PrivateSubSetFocus(ByValcontrolToFocusAsControl)
DimscriptFunctionAsNewStringBuilder
DimscriptClientIdAsString
scriptClientId=controlToFocus.ClientID
scriptFunction.Append("<scriptlanguage=javascript>")
scriptFunction.Append("document.getElementById("&scriptClientId&").focus();")
scriptFunction.Append("</script>")
RegisterStartupScript("focus",scriptFunction.ToString())
EndSub
PrivateSubPage_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
If(Page.IsPostBack=False)Then
SetFocus(TextBox1)
EndIf
EndSub
5.转动DataGrid
这招就更复杂了,偶然候你的页面只要一个流动的中央,可是必要显现十分多的数据,亦或是也不定,可是只要流动的一个中央给你显现它了。这时候你就能够用上面这招,主动出转动条,并且合用很多控件。很复杂将你的控件放在一个DIV中将overflow属性设置成auto
<divstyle=“height:400px;width:200px;overflow:auto”>
<asp:da</p>[1][2]下一页
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 |
|