By MBPDLPayday Loans

ASP.NET设置Form的默认按钮

昨天在折腾一个查询系统的某一表单时, 遇到了这个问题. 当在表单中录入查询项之后敲回车, 默认聚焦不在查询提交的按钮上, 而是到了用户退出的按钮上.嗯, 这样的设计多多少少会造成些许不便, 考虑吃掉这只虫.

因为这个页面是继承于上层masterpage的. 而Form的定义也恰恰在masterpage中, 这样当masterpage顺位查找button的时候就默认聚焦在了退出按钮上, 这样用户每次录入查询项之后必须要小心翼翼地用鼠标去点提交才可以. 否则就变成直接清空cookie, 退出系统了.

如果要取消退出按钮的回车响应, 通常是加一段javascript, 当捕获到用户输入键KeyCode是13时, 返回false, 不响应单击事件:

<SCRIPT LANGUAGE="javascript">
function SubmitKeyClick(button)
{
	if (event.keyCode == 13)
	{
		Event.returnValue = false;
	}
}
</SCRIPT>

然后在Page_Load事件中添加:

tbInput.Attributes.Add("onkeydown","SubmitKeyClick('btnOK');");

不过, .Net 2.0开始提供了一个设置Form默认按钮的属性: DefaultButton, 这样的话,从Content Page向上设置masterpage就可以了:

this.Master.Page.Form.DefaultButton = "btnSubmit";
3 Responses to “ASP.NET设置Form的默认按钮”
  1. 不懂。。踩踩~ 想问你下哈。。。CSS好学么?。。。

  2. 嘻嘻。。。我是一点也不会的那种。。

  3. 呵呵, 这东西不难, 没事干的时候找几个网站右键看看人家css就明白啦~

Leave a Reply