仓酷云
标题:
ASP编程:aspx页面javascript的几个trick
[打印本页]
作者:
金色的骷髅
时间:
2015-1-16 23:42
标题:
ASP编程:aspx页面javascript的几个trick
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。页面1、一样平常而言,假如想给aspx页面上的webformcontrol加上一些javascript的特征,能够用Attributes.Add来完成。
比方,对TextBoxtxt,能够:
txt.Attributes.Add("onclick","fcn0();");
那末,在web页面上click它的时分,就会挪用fcn0这个javascript函数。
1.1、破例的情形是,关于IDE没法识别的属性的剖析。
好比对一个RadioButtonrbt,IDE不克不及识别onclick这个属性,那末,相似下面的语句,
rbt.Attributes.Add("onclick","fcn1(this);");
在.netframework1.1中,将剖析成
<inputtype=radioid=rbtonclick="fcn1(this);">...
而在在.netframework1.0中,将剖析成
<spanonclick="fcn1(this);"><inputtype=radioid=rbt>...</span>
注重到,fcn1中,参数this对应的工具就分歧了。这是一个渺小的不同。
2、而关于HTMLcontrol,必要多做一点事变。
在计划aspx页面的时分,从工具栏拖一个webformcontrol,好比说,TextBox到页面,会产生两件事:
1、aspx页面多一句
<asp:TextBoxid="TextBox1"style="..."runat="server"Width="102px"Height="25px"></asp:TextBox>
2、codebehind多一句
protectedSystem.Web.UI.WebControls.TextBoxTextBox1;
假如是htmlcontrol,那末,第一句中,runat="server"不会呈现,而第二局不会被主动增加。
因而,假如要会见htmlcontrol,必要
1、aspx页面的语句中增加runat="server"属性,成为
<INPUTstyle="..."type="text"size="9"id="htxt"runat="server">
2、codebehind中显现的声明
protectedSystem.Web.UI.HtmlControls.HtmlInputTexthtxt;
注重到第一句的id和第二句的变量名是不异的。
2.1、注重到,后面System.Web.UI.WebControls.TextBox对应的htmlcontrol是System.Web.UI.HtmlControls.HtmlInputText,对应的html的tag是<INPUTtype="text">,
响应的,html的tag<body>对应的htmlcontrol是
publicSystem.Web.UI.HtmlControls.HtmlGenericControlmyBody;
2.2、有一点破例的是html的<form>tag对应的onsubmit的事务。看如许一个aspx页面
<%@Pagelanguage="c#"Codebehind="WebForm2.aspx.cs"AutoEventWireup="false"Inherits="TestCs.WebForm2"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>WebForm2</title>
<metaname="GENERATOR"Content="MicrosoftVisualStudio7.0">
<metaname="CODE_LANGUAGE"Content="C#">
<metaname="vs_defaultClientScript"content="JavaScript">
<metaname="vs_targetSchema"content="http://schemas.microsoft.com/intellisense/ie5">
<scriptlanguage="javascript">
functionfcn1()
{
prompt("hi","fcn1");
}
</script>
</HEAD>
<bodyMS_POSITIONING="GridLayout">
<formid="WebForm2"method="post"runat="server"onsubmit="fcn1();">
<asp:Buttonid="Button1"style="Z-INDEX:103;LEFT:423px;POSITION:absolute;TOP:83px"runat="server"Width="86px"Height="29px"Text="Button"></asp:Button>
<asp:DropDownListid="DropDownList1"style="Z-INDEX:104;LEFT:284px;POSITION:absolute;TOP:163px"runat="server"Width="188px"Height="17px"AutoPostBack="True">
<asp:ListItemValue="a">a</asp:ListItem>
<asp:ListItemValue="b">b</asp:ListItem>
<asp:ListItemValue="c">c</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</HTML>
内容很复杂,界说了一个javascript函数fcn1,放了一个ButtonButton1和一个autopostback的DropdownlistDropDownList1,运转它,能够看到:点击Button1,会先实行fcn1然后postback,而选择DropDownList1的分歧选项,将只会postback,而不会触发fcn1。
微软autopostback=true的webcontrol完成postback,道理是如许的:
1、假如此aspx页面有autopostback=true的webcontrol,那末会写上面一段javascript语句界说一个叫__doPostBack的javascript函数。
<scriptlanguage="javascript">
<!--
function__doPostBack(eventTarget,eventArgument){
vartheform;
if(window.navigator.appName.toLowerCase().indexOf("netscape")>-1){
theform=document.forms["WebForm2"];
}
else{
theform=document.WebForm2;
}
theform.__EVENTTARGET.value=eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value=eventArgument;
theform.submit();
}
//-->
</script>
2、比方是下面的dropdownlist,将会render成:
<selectname="DropDownList1"onchange="__doPostBack</p>当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题
作者:
爱飞
时间:
2015-1-20 11:20
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者:
愤怒的大鸟
时间:
2015-1-22 05:52
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
作者:
精灵巫婆
时间:
2015-1-30 23:23
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
作者:
谁可相欹
时间:
2015-2-6 16:44
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
作者:
第二个灵魂
时间:
2015-2-17 09:12
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者:
活着的死人
时间:
2015-3-5 18:46
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
金色的骷髅
时间:
2015-3-19 21:15
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2