我正在使用Ajax
从数据库中检索信息而不刷新页面。我有asp:TextBox
用Ajax
触发TextChanged
事件(当我从TextBox
失去焦点时)。现在,我想禁用单击输入的选项,因为它会调用Ajax
事件,但也会因某种原因刷新页面。如果通过向OnKeyDown
添加属性来更改文字,我设法禁用了它。但是,当我更改文本并立即按回车键时,页面会刷新。我也尝试添加OnKeyPress
,但似乎没有效果。我该如何解决这个问题?
function cancel_enter(elem) {
if (window.event.keyCode == 13) {
document.getElementById("btnReg").focus();
document.getElementById("btnReg").click();
if (elem != null)
elem.focus();
return false;
}
else
return true;
return true;
}

<asp:ScriptManager ID="MainScriptManager" runat="server" />
<table dir="rtl" style="text-align:left;" id="table_user" runat="server">
<tr>
<td>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"><ContentTemplate><asp:TextBox TextMode="SingleLine" ID="reg_user" runat="server" MaxLength="50" OnTextChanged="reg_user_TextChanged" AutoPostBack="true"></asp:TextBox></ContentTemplate></asp:UpdatePanel>
</td>
</tr>
</table>
&#13;
这是我的代码隐藏。我在那里添加了属性:
protected void Page_Load(object sender, EventArgs e)
{
reg_user.Attributes.Add("OnKeyDown", "return cancel_enter(this);");
}