【发布时间】:2014-12-15 15:36:33
【问题描述】:
我正在处理有超过 500 个 .aspx 页面的项目(弹出窗口使用 ShowModelDialog)我想要为每个页面抑制/禁用 Enter 键
我想为每个页面(所有 Popup)或用户提出的每个请求添加以下代码。 很遗憾项目中没有母版页
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
void Application_BeginRequest(object sender, EventArgs e)
{
// Code that runs on application shutdown
System.Web.UI.Page mypage = (System.Web.UI.Page)HttpContext.Current.Handler;
if (mypage != null)
{
mypage.ClientScript.RegisterClientScriptBlock(GetType(), "MyScriptKey", "alert('hi')", true);
}
}
我尝试在Global.asax 中添加此脚本Application_BeginRequest 但没有运气
【问题讨论】:
-
您没有显示用于添加脚本的代码,但会话开始无疑是错误的地方。也许你是从错误的角度来处理这个问题的——你应该使用母版页来抽象通用功能,而不是试图在其他地方偷工减料。
-
为什么不引入母版页?
-
@Stilgar 需要很长时间,因为项目中有很多页面
-
我认为创建一个类,你的页面是否继承,在类上使用 ScriptManager.RegisterStartupScript 来注入 js?
-
如果你的架构很差,那么做任何事情都需要很长时间。最好硬着头皮把事情做好。
标签: javascript asp.net .net page-lifecycle