日期:2014-05-18  浏览次数:20438 次

<100分><100分><100分><100分><100分><100分><100分><100分><100分><100分><100分><100分>如何在后台给<body>添加onKeyDown="ShowInfo()"
如题:如何在后台给前台页的 <body> 添加onKeyDown= "ShowInfo() "事件,最终成为
<   body   MS_POSITIONING= "GridLayout "   onKeyDown= "ShowInfo() ">

着急啊。

------解决方案--------------------
<body id= "bd " runat=server>


bd.Attributes.Add( "onKeyDown ", "ShowInfo() ")
------解决方案--------------------
后代码定义
Protected WithEvents bd As System.Web.UI.HtmlControls.HtmlGenericControl


or

System.Web.UI.HtmlControls.HtmlGenericControl bd;
------解决方案--------------------
onKeyDown= "ShowInfo() "
=====
这种叫做 “页面声明方式”

window.document.body.onkeydown = function() { ShowInfo(); };
window.document.body.onkeydown = ShowInfo;
=========
这叫“代码绑定方式“


就像asp.net服务器控件的事件绑定语法一样,他们也支持类似的两种方式 ...

另外对于“代码绑定方式” body.onxxxx 你可以直接指定在 window.document.onxxxx
某些支持事件如 onload 可以指定在 window 中



------解决方案--------------------
bodyRunAtServer.Attributes.Add( "onKeyDown ", "ShowInfo(); ");
=====
此中的方式,适合【单页】需求,

对于在基类中定义,系统应用到子类页面的,只有通过输出 js 动态绑定事件,

当然假如,你的 .aspx 页面内容全部是动态的通过 .aspx.cs 构建的,也可以了,因为此时 body 已经由你在 PageBase 控制了,但是似乎没有人会采取此种“吃力不讨好”的设计方案吧 :)