asp.net - 按下回车键时不触发 UpdatePanel

标签 asp.net

我有一个带有一些文本框和一个提交按钮的面板,以及一个设置为在按下按钮时触发的更新面板。

如果我按下按钮,它会正常工作。但是,如果我在控件上按 Enter,它会回传整个页面。

我将该按钮设置为面板中的默认按钮,但它仍然回传整个页面。有什么想法吗?

最佳答案

将面板上的单个按钮设置为默认按钮总是有点棘手。针对这个问题,我在一个公共(public)库中保留了一个方法:

public static void EnterOnKeyDown(WebControl targetControl, WebControl controlToPress)
{
    targetControl.Attributes.Add("onkeydown",
        "if(event.which || event.keyCode){if ((event.which == 13)" +
        "|| (event.keyCode == 13)) {document.getElementById('" +
        controlToPress.ClientID + "').click();return false;}} else {return true};");
}

你可以把这个方法放在任何你喜欢的地方并按如下方式调用它:

EnterOnKeyDown(someTextBoxInYourPanel, yourSubmitButton);

您可以轻松地单独使用上面的 javascript,而无需将其设置为静态方法。

关于asp.net - 按下回车键时不触发 UpdatePanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1532048/

相关文章:

javascript - 如何在 ASP.NET 中动态地将数据附加到 JQuery 控制变量?

c# - 将数据从 Controller 发布到外部 URL

c# - ASP.NET:如何从表格 html 源中提取特定值?

jquery - 如何使用 JQUERY 客户端调用保护 ASP.NET REST

asp.net - 如何使用 Angular 2/4 开发搜索建议文本框

asp.net - 当主要内容需要时,如何在母版页上获取 'footer' 内容以向下推送?

C# 清除 session

c# - 如何使用ASP.NET成员资格提供程序类

javascript - 如何使用 Javascript 从 C# 代码设置的 div 内的 span 元素获取值

c# - 当 HttpModule Init 方法在 ASP.NET 集成模式下运行时?