仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 585|回复: 7
打印 上一主题 下一主题

[学习教程] ASP编程:aspx页面javascript的几个trick

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:42:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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:16 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-22 05:52:55 来自手机 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
精灵巫婆 该用户已被删除
地板
发表于 2015-1-30 23:23:48 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
谁可相欹 该用户已被删除
5#
发表于 2015-2-6 16:44:43 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
第二个灵魂 该用户已被删除
6#
发表于 2015-2-17 09:12:31 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
活着的死人 该用户已被删除
7#
发表于 2015-3-5 18:46:49 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
金色的骷髅 该用户已被删除
8#
 楼主| 发表于 2015-3-19 21:15:40 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 10:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表