|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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一样。有的还是一种思想(就是做软件的思想)(好像很深奥,其实我也不懂^_^) |
|