我一遍又一遍地发现并没有找到干净的解决方案。我的一位同事确实找到了一个非常脏的解决方案,但我不明白为什么当我将它放在母版页中时,下面链接参考中的解决方案不起作用。我有一个主页面,基本上有一个文本框和一个链接按钮,当我按下回车键时,子页面的默认按钮被调用。
对此有何见解?谢谢:))
我明天上班时会发布脏解决方案。
编辑:这是肮脏的(我认为)解决方案:string id = ctlToClick.UniqueID;
string someJavascript = //see below
EmailTextBox.Attributes.Add("OnKeyPress", someJavascript);
javascript(放在这里,以便StackOverflow可以更好地格式化):
javascript:if (window.event){
if(parseInt(window.event.keyCode) == 13){
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('" + id + "', '', true, 'Login', '', false, true));
return false;
}
}
这真的是唯一的解决方案吗?
答案 0 :(得分:1)
您是否尝试设置defaultButton
属性?
<form id="Form1"
defaultbutton="lnkNextPage"
runat="server">
其中lnkNextPage
是LinkButton
控件的ID。
答案 1 :(得分:0)
我认为你需要一个简单的javascript来控制你的tab / enter键。在没有办法让默认按钮解决方案工作之前,我遇到了这个问题。
这个想法很简单 - 检查在文本框中输入的每个键。如果输入的键是enter或tab,则通过jquery或document.GetElementById('id')找到该按钮,并调用按钮上的click事件。
表单的默认按钮在asp.net中不起作用,因为a):只有1个表单,而b):对于不同的文本框,你希望能够控制实际点击的按钮(在tab / enter上) )。
一个简单的javascript文件解决了这个问题。
<bleepzter/>