0

我有一页上有 3 个FreeTextBox控件。它们设置正确,我一直在正常使用它们,直到我需要添加一个将 PostBack 到服务器的 DropDownList 控件,但我惊讶地发现该OnSelectedIndexChanged事件永远不会触发。如果我要使用按钮或其他一些服务器端控件进行发布,那么会触发该事件。经过大量调试后,我发现每次在 DropDownList 控件上选择不同的内容时都会引发以下 Javascript 错误:

TypeError: FTB_API.MainContent_MainContent_FreeTextBox1 is undefined

错误似乎很简单。Firebug 告诉我这个错误来自以下函数:

function WebForm_OnSubmit()
{
    FTB_API['MainContent_MainContent_FreeTextBox1'].StoreHtml();FTB_API['MainContent_MainContent_FreeTextBox2'].StoreHtml();FTB_API['MainContent_MainContent_FreeTextBox3'].StoreHtml();
    return true;
} 

我已经尝试了几件事但没有成功。当我从我的页面中删除 FreeTextBox 控件时,我有成功的 PostBacks。任何帮助,将不胜感激。谢谢。

编辑 1:这是我的一些标记

3 FreeTextBox 设置如下:

<FTB:FreeTextBox ID="FreeTextBox3" JavaScriptLocation="ExternalFile" ButtonImagesLocation="ExternalFile" ToolbarImagesLocation="ExternalFile" runat="server" EnableHtmlMode="true" />

我的下拉列表:

<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
4

2 回答 2

1

在标记页面中设置下拉列表的属性 AutoPostBack = true。当您更改下拉元素并触发 OnSelectedIndexChanged 时,这将使帖子返回。

例子 :

<asp:DropDownList id="drpList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="event name" />
于 2012-08-17T18:23:11.880 回答
0

我在这个线程中找到了问题的答案:Firefox 上的隐藏 FreeTextBox 错误似乎由于某种原因,当控件不可见或被隐藏(我有选项卡)时,它的行为方式是这样的。答案有点像黑客,但它确实有效。感谢您的回答。

于 2012-08-17T18:54:48.587 回答