我在ASPX上使用EXT.NET。我之前从未遇到过这个问题。当我有一个事件触发器时,页面重新运行所有代码(尽管它实际上并没有“重新加载”页面)。据我所知,所有其他页面都没有发生这种情况。示例代码:
protected void gSelectApplied(object sender,EventArgs e)
{
Ext.Net.ComboBox box = (Ext.Net.ComboBox)sender;
string name = box.ID;
switch (name)
{
case "gPreviousApplied":
{
gPreviousAppliedfunded.Hidden = box.SelectedItem.Value.ToString() == "Yes"
? false
: true;
break;
}
case "gPreviousAppliedfunded":
{
gPreviousApplied.Hidden = box.SelectedItem.Value.ToString() == "Yes"
? false
: true;
break;
}
}
}
这会执行并且应该隐藏页面上的元素。然而,这不会发生,因为它将隐藏设置为true一会儿(甚至不可见),然后重置。当我在一般页面中设置断点时,它会在触发事件时触及断点,然后触发事件代码本身。
前端看起来像这样:
<ext:FormPanel ID="Sec5" runat="server" AutoHeight="true" BodyBorder="false"
Layout="FormLayout" LabelAlign="Right" LabelPad="25" LabelWidth="220" Cls="blue"
PaddingSummary="5px 0px 5px 115px" Border="false" BaseCls=".uData" Hidden="false">
<Items>
<ext:ComboBox FieldLabel="someField" ID="gPreviousApplied"
runat="server" OnDirectSelect="gSelectApplied">
<Items>
<ext:ListItem Text="Yes" />
<ext:ListItem Text="No" />
</Items>
</ext:ComboBox>
<ext:ComboBox FieldLabel="something" ID="gPreviousAppliedfunded"
runat="server">
<Items>
<ext:ListItem Text="Yes" />
<ext:ListItem Text="No" />
</Items>
</ext:ComboBox>
<ext:ComboBox FieldLabel="somethingelse" ID="gPreviousApplied"
runat="server">
<Items>
<ext:ListItem Text="Yes" />
<ext:ListItem Text="No" />
</Items>
</ext:ComboBox>
</Items>
</ext:FormPanel>
</Items>
</ext:Panel>
答案 0 :(得分:0)
请检查aspx页面中autoeventwireup是否设置为false。 还要检查page_load中是否有任何内容将元素设置为false。 在page_load函数中使用page.ispostback