0

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>
4

1 に答える 1

0

aspx ページで autoeventwireup が false に設定されているかどうかを確認してください。また、要素を false に戻すような要素が page_load にあるかどうかも確認してください。page_load 関数で page.ispostback を使用する

于 2012-06-19T07:17:51.263 に答える