如何在asp.net Textbox中处理keydown事件?

时间:2012-12-10 15:07:25

标签: c# asp.net

我有一个web形式的文本框(asp.net)。当用户已经键入数据时,他们将按Enter键,这样数据就会更新到数据库。

有没有办法可以执行此操作?

2 个答案:

答案 0 :(得分:1)

Dino Esposito有wrote about this a while back。您不一定需要自定义控件,但可以使用他的JavaScript。

如果您有一个围绕Panel的控件,并且您设置了DefaultButtonID属性,则面板将通过单击ID指定的所需按钮来触发回传。那是另一种方式。

答案 1 :(得分:1)

function InitTextBox() {
//var _txt = $('#<%= txt.ClientID%>'); or
var _txt = $('input:[id*="txtId"]');
if (_txt.length < 1) return;
_txt.get(0).autocomplete = 'off';
_txt.on('keydown', function (evt) {
    var _self = $(this);
    event = evt ? evt : window.event;
    if (event.keyCode == 13) {
        if ($.browser.msie)
        { event.cancelBubble = true; event.returnValue = false; }
        else { event.preventDefault(); }
        if (_self.val().length > 0 && _self.val().match(/^\s*$/) == null)
            __doPostBack(_self.attr('name'), '');
    }
});
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitTextBox);

并将textbox的autopostback设置为false,请