仓酷云

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

[学习教程] ASP.NET网站制作之.NET中的javascript操纵

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

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

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

x
我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。.NET中的javascript操纵。上面总结一些罕见的ASP.NET中的javascript操纵:1.为button控件增加确认功效
要想为服务器控件增加客户真个事务,必要用到Attributes属性。Attributes属性是一切的服务器控件都有的一个属性,它用来为终极天生的HTML增加自界说的一些标志。假定WebForm上有一个保留按钮btnSave,但愿在用户点此按钮时提醒用户是不是的确要保留(好比一旦保留就没法恢复等),则应在Page_Load事务中增加以下代码:
btnSave.Attributes.Add(
“onclick”,“javascript:returnconfirm(
‘Areyousuretosave?’);
”)

要注重的是‘return’,这是不成省的,不然即便用户点了作废,数据仍旧会保留。

2.为Datagrid中的每行增加Javascript事务

Datagrid中的子控件是没举措间接会见的,要完成下面的那种效果,我们必要用到Datagrid的OnItemDataBound事务。OnItemDataBound事务产生在Datagrid的每行数据绑定到Datagrid以后(即一行引发一次)。起首在Datagrid的声明中增加OnItemDataBound属性,以下:

此处申明OnItemDataBound事务产生时挪用ItemDataBound办法,在代码后置文件中增加此办法的界说:

privatevoidOnItemDataBound(
objectsender,System.Web.UI.WebControls.DataGridItemEventArgse){
if(e.Item.ItemType!=ListItemType.Header&&
e.Item.ItemType!=ListItemType.Footer){
LinkButtonbtnSave=(LinkButton)e.Item.Cells[2].Controls[0];
stringstrClientID=btnSave.ClientID;
//失掉该控件的客户端ID,可供JavaScript挪用
btnSave.Attributes.Add("onclick","javascript:returnconfirm
(Areyousuretosave?);
");
}
}

因为Datagrid的题目行和脚注行也会引发此事务,以是起首判别引发此事务的行不是题目行和脚注行。这里假定btnSave按钮位于Datagrid的第3列(第一列是0)。

3.在Javascript中触发服务器端控件事务

让我们再来思索第一个实例,我们为保留按钮增添了确认功效,只要在用户确认后才会实行保留操纵,用户不确认的话就不实行,假如我们想要用户按下“作废”时,实行别的的操纵怎样办呢?这就要必要用JS往返调(PostBack)服务器端控件完成操纵。

以后页面中有一个DropDownList控件ddlTest,Button按钮btnSave.中选择ddlTest时触发onchange事务,保留以后的选择值,在保留前会让操纵者先确认,用户确认则保留,不然转向default.aspx页。

在Page_Load事务中增加以下代码:

stringstrCMD=Page.GetPostBackClientHyperlink(btnSave,"");
stringscript=@"javascript:ConfirmUpdate(""EVAL_MESSAGE"");";
script=script.Replace("EVAL_MESSAGE",strCMD);
ddlTest.Attributes.Add("onchange",script);

这段代码实行后天生的select控件将是如许:

〈selectname="ddlTest"id="ddlTest"
onchange="javascript:ConfirmUpdate("javascript:__doPostBack(btnSave,)");
"〉

ConfirmUpdate函数以下
〈SCRIPTlanguage=javascript〉
functionConfirmUpdate(cmd){
if(confirm("Areyousuretoupdate?")){
eval(cmd);
}
else{
window.location.href="default.aspx"
}
}
〈/SCRIPT〉

这里使用了Javascripteval函数来挪用一个字符串中包括的命令。需注重的是包括命令的字符串不克不及用单引号括起来,由于主动天生的剧本中包含单引号,以是这里用两个双引号暗示字符串自己的双引号。

上面是一些复杂的ASP.NET中的javascript操纵:

1.翻开新窗口

这个复杂:Response.Write(@"<script

language=javascript>window.open(url);</script>");

2.封闭窗口

//封闭以后窗口,并提醒用户时分封闭,yes封闭,no加入

Response.Write(@"<scriptlanguage=javascript>window.close();</script>");

//提早封闭窗口(上面代码暗示2秒后封闭,无需确认)

Response.Write(@"<script

language=javascript>setTimeout(self.close(),2000);</script>");

3.提早工夫

这个和下面的没有几区分.我用到的情形是,在用户操纵终了给出提醒,"n秒后,页面

转向"之类的只需往失落2重的Self.close()便可

Response.Write(@"<script

language=javascript>setTimeout(,2000);</script>");

4.弹出提醒或告诫窗口

Response.Write(@"<scriptlanguage=javascript>alert(增加乐成,2秒钟后页面

将主动跳);</script>");

5.革新其他页面

这个用到的情形仍是很多.好比在B页面临数据更新和修正,另外一页面A要坚持最新数据

给客户,这是就要在对B操纵终了的情形下对A举行革新:

Response.Write(@"<scriptlanguage=javascript>window.opener.location.

href=./default.aspx</script>");

6.页面跳转

偶然候在学要给出提醒的情形下举行页面跳转,不克不及利用Response.Redirect("url");

好比,当客户操纵终了,单击按钮提交,弹出提醒框(利用下面3和4),假如利用了

Response.Redirect("url");

那末页面将不给出提醒,页就是3和4没有起感化就间接转向了.

假如你是上面的操纵历程:

1).Response.Write(@"<scriptlanguage=javascript>alert(增加乐成,2秒钟后页

面将主动跳);</script>");

2).Response.Write(@"<script

language=javascript>setTimeout(,2000);</script>");

3).页面转向:

Response.Write("<metahttp-equiv=refresh

conte
nt=0;URL=./default.aspx>");

//这个我不晓得用javascript怎样完成,熟习的轻增补一下
以上就是经常使用的ASP.NET中的javascript操纵。
是不是实质都是API?有的好像不只是API那么简单的,有的也是一种框架就像MFC一样。有的还是一种思想(就是做软件的思想)(好像很深奥,其实我也不懂^_^)
柔情似水 该用户已被删除
沙发
发表于 2015-1-19 10:32:25 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-25 18:06:51 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
小妖女 该用户已被删除
地板
发表于 2015-2-3 12:38:10 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
不帅 该用户已被删除
5#
 楼主| 发表于 2015-2-9 01:20:31 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
透明 该用户已被删除
6#
发表于 2015-2-26 17:03:01 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-16 05:16:05 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
爱飞 该用户已被删除
8#
发表于 2015-3-22 20:12:30 | 只看该作者
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-14 09:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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