仓酷云
标题:
ASP.NET教程之总结:关于ASP.NET 2.0一些复杂而有效的...
[打印本页]
作者:
透明
时间:
2015-1-16 22:49
标题:
ASP.NET教程之总结:关于ASP.NET 2.0一些复杂而有效的...
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)asp.net|技能
1、在CallBack以后坚持转动条的地位
在Asp.Net1.1中,CallBack以后坚持转动条的地位是一件十分疾苦的事变,出格是页中有一个Grid而且想要编纂特定的行。为了一直留在想要得行,页面会从头加载而且必需在顶部向下转动。在Asp2.0中,只必要复杂的在页面的属性中到场MaintainScrollPostionOnPostBack属性便可:
<%@PageLanguage="C#"MaintainScrollPositionOnPostback="true"AutoEventWireup="true"CodeFile=""Inherits=""%>
2、页面加载后设置默许核心到控件上
这也是一个十分复杂的例子,不必要javascript的帮助便可完成。假如在页面中有一两个textbox,为何要让用户往点击textbox来入手下手输出数据呢?是否是能够可以让光标已停止在textbox进而能够输出数据呢?利用HtmlForm控件的DefaultFocus属性就能够容易的做到:
<formid="frm"DefaultFocus="txtUserName"runat="server">
</form>
3、用户点击“Enter”键时触发默许按钮的click理论。
在Asp1.1中,想要利用户点击“Enter”键就可以联系关系到一个button的服务器段的click事务必要借助于javascript,这是很疾苦的。幸亏,如今可你利用HtmlForm控件的DefaultButton属性来设置。这个属性也能够设置到Panel控件上,当用户挪动到页面中分歧的Panel上,点击enter键来触发分歧的button控件的click事务。
<formid="frm"DefaultButton="btnSubmit"runat="server">
</form>
4、复杂的寻觅流动的控件。
在页面的控件中按条理寻觅控件很疾苦,可是假如你晓得控件如何流动在页面中,就能够用简写”$”来查找控件而不必写递回的代码。请看上面代码,注重”$”的利用:
<formid="form1"runat="server"DefaultFocus="formVw$txtName">
<div>
<asp:FormViewID="formVw"runat="server">
<ItemTemplate>
Name:
<asp:TextBoxID="txtName"runat="server"
Text=<%#Eval("FirstName")+""+Eval("LastName")%>/>
</ItemTemplate>
</asp:FormView>
</div>
</form>
这个小技能也能够用在服务器真个利用FindControl()函数时:
TextBoxtb=this.FindControl("form1$formVw$txtName")asTextBox;
if(tb!=null)
{
//AccessTextBoxcontrol
}
5、强范例会见跨页提交的控件
这个比其他的要内容多一点,可是很有效。ASP.NET2.0引进了交织回发的观点使得一个页面能够将信息回发到另外一个分歧的页面,能够将button控件的PostBackUrl属性设置为承受回发数据的页面来完成。一样平常的,回发的数据能够象前一页那样做一些事变。可是,假如你要取得前一页制订控件的属性就必要一个cast(),假如你给引发回发的code-behide页面增加了一个大众属性,你就能够间接以强范例的体例增加PreviousPageType来指向引发回发的页面从而可以会见谁人属性。
假如有一个页面Default.aspx,他有一个大众属性来前往此页面上一个TextBox,数据回发目标页(SearchResults.aspx)能够以强范例的体例(不必要FindControl()办法),在页面的顶部增加:
<%@PreviousPageTypeVirtualPath="Default.aspx"%>
如许,SearchResults.aspx中代码就能够以强范例的体例会见Default.aspx的TextBox。上面的例子假定Default.aspx界说的属性名为SearchTextBox:
TextBoxtb=PreviousPage.SearchTextBox;PreviousPageType另有一个TypeName属性,你能够界说一个基础范例,一个或多个页面今后范例承继上去,使得这类手艺能够在多页面上利用。
PreviousPage.IsCrossPagePostBack能够判别是不是为垮页提交。
关于跨页提交的增补:
在ASP.NET1.X版本中,页面都是提交到本人自己,其实不能便利的指定必要提交的目标页面。比方FirstPage.aspx中的button只能提交到FirstPage.aspx,而不克不及提交到SecondPage.aspx。良多时分,ASP.NET1.X如许事情体例使我们的开辟体例遭到很多限定。熟习ASP/JSP/PHP的伴侣也许很不习气,由于之前常常利用的提交体例俄然没法利用,固然也有办理这个成绩的办法(欲具体懂得的读者可往微软网站收看webcast),但是历程太啰嗦,不甚便利。令我们乐意的是,ASP.NET2.0中有了跨页面提交的复杂办法。可在第一个页面中的button增加PostBackUrl属性设置为承受提交的页面,而且这个页面增添PreviousPageType指令,若如果方针页面在新窗口中翻开则能够在源页面<form>标志增添target=’_blank’属性。
6、强范例会见母版页的控件
PreviousPageType指令并非独一的能够强范例会见控件的办法。假如在母版页中界说了一个大众属性,而且想要以强范例的体例会见它,那末就能够在页面顶部增加MasterType指令(注重:MasterType指令同PreviousPageType一样同意界说一个TypeName)
<%@MasterTypeVirtualPath="MasterPage.master"%>
你能够在内容页誊写以下的代码来会见方针母版页的属性:
this.Master.HeaderText="LabelupdatedusingMasterTypedirectivewithVirtualPathattribute.";
7、Validationgroups考证组
一个页中大概有多个控件和多个按钮。当个中的一个按钮被点击后想要特定的validator被引发而不是页面中的一切validator。在ASP.NET1.1中除hackcode没有更好的举措。ASP.NET2.0中给一切的validator控件和按钮(button、linkbutton等等)增添了ValidatorGroup属性,就能够轻松地办理这个成绩。假如在页面中有一个TextBox而且紧挨着他有一个RequiredFieldValidator和Button控件,能够将RequiredFieldValidator和Button的ValidationGroup属性设置成一样的值从而使得点击button时只触发这个RequiredFieldValidator的validor,任何没有界说在ValidationGroup内的其他的validator城市被疏忽。看下例:
<formid="form1"runat="server">
SearchText:<asp:TextBoxID="txtSearch"runat="server"/>
<asp:RequiredFieldValidatorID="valSearch"runat="Server"
ControlToValidate="txtSearch"ValidationGroup="SearchGroup"/>
<asp:ButtonID="btnSearch"runat="server"Text="Search"
ValidationGroup="SearchGroup"/>.
Othercontrolswithvalidatorsandbuttonsdefinedhere
</form>
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。
作者:
仓酷云
时间:
2015-1-19 08:42
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
作者:
小妖女
时间:
2015-1-24 11:26
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
作者:
再见西城
时间:
2015-2-1 08:37
如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
作者:
蒙在股里
时间:
2015-2-7 01:58
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
作者:
小魔女
时间:
2015-2-19 15:34
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
作者:
爱飞
时间:
2015-3-6 15:04
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
作者:
只想知道
时间:
2015-3-13 02:34
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
作者:
冷月葬花魂
时间:
2015-3-20 10:33
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2