2011-04-06 4 views
0

ユーザーがボタンをクリックするたびに、ASPxPopupControlを表示する必要があります。しかし、これには問題があります。このボタンはパネルに属しており、デフォルトでは非表示になっています。これは、ユーザーがそうするよう指示したときにのみ表示されます。ASPxPopupControlを取得するには(previosly)隠しボタンか?

パネルが最初に表示されている場合は、ポップアップコントロールが正常に表示されます。しかし、最初は見えない(属性Visible="false"で設定されている)場合は、パネルさえ表示されてもポップアップコントロールは表示されません!

どうすればこの問題を解決できますか?私はDevexpressフォーラムでこの質問をするべきだと知っていますが、ここで試しても痛いことはありません。

ありがとうございました!

答えて

2

ASPxPanelコントロールを使用していますか?その場合は、Visibleの代わりにパネルのClientVisibleプロパティを使用してください。これは役に立ちますか?

UPDATE

私はあなたの代わりにASPxPanelの使用を開始し、そのClientVisibleプロパティを使用することを示唆しています。あなたが標準Panelを使用する場合は、style.visibilityプロパティを使用して、それを隠す必要があります。

<asp:Panel ID="Panel1" runat="server" BackColor="Green"> 
Test Panel 
</asp:Panel> 
<input type="button" value="show panel" 
     onclick="document.getElementById('Panel1').style.visibility='';" /> 

のC#:

protected void Page_Load(object sender, EventArgs e) { 
    if(!IsPostBack) 
     Panel1.Style.Add("visibility", "hidden"); 
} 
+0

を私はASP.NETパネルを使用しています、このため任意の回避策はありますか?ありがとう:) – Vimvq1987

+0

私の答えを編集 –

0

私はよくわかりませんが、私はVisible = falseをサーバーサイドのコードに置くことで、コントロールをブラウザに表示しないと思います。したがって、DOMを介してアクセスすることはできません。 Visibleプロパティの代わりにスタイルを設定する必要があると思います。