我正在尝试学习如何使用autopostback,所以我写了这个:
<asp:TextBox runat="server" AutoPostBack="true" OnTextChanged="check" ID="Tz"></asp:TextBox>
和代码背后:
protected void check(object sender, EventArgs e)
{
Response.Write("checked");
}
我认为当我通过更改文本框中的文本来触发自动回复时,我会看到屏幕上写的已检查,但没有任何开心。
有一个窗口加速并说有一个未处理的异常,此外它在我运行调试器时向我显示:
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['register'];
if (!theForm) {
theForm = document.register;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
行theForm.submit();被标记了。
答案 0 :(得分:2)
此代码应该有效。
我唯一可以想到的是,当您在文本框中键入内容时,您可能期望触发自动回复,但实际上只有在文本框失去焦点时才会触发,就像您单击文本框外的任何位置一样。
答案 1 :(得分:0)
我找到了解决方案。 我所要做的就是将提交按钮的ID从提交更改为其他内容。