我有一個包含,除其他事物的用戶控件,這AJAX模式彈出擴展:ASP.NET:從用戶控件以編程方式創建新的CSS類?
<ajax:ModalPopupExtender ID="MPE" runat="server"
TargetControlID="btnChangePassword" PopupControlID="pnlPasswordChanging"
BackgroundCssClass="modalBackground" DropShadow="true"
CancelControlID="btnCancel" OnCancelScript="ULC_ChangePw_CancelBtnClick();" />
這裏沒有什麼特別。問題來自BackgroundCssClass
屬性 - 它需要一個名爲modalBackground的CSS類。不幸的是,我不能以一種回傳的方式從用戶控件中添加一個CSS類。
如果我將modalBackground類添加到的.ascx頁:
<style type="text/css">
.modalBackground
{
background-color: #A1A1A1;
filter: alpha(opacity=70);
opacity: 0.7px;
}
</style>
...它會顯示屬性第一次加載時,但不能因此後續的回傳後。當然,我可以在頁面中定義modalBackground,也可以在用戶控件調用的獨立CSS文件中定義,但這兩種解決方案都不適用於我。
有沒有辦法以編程方式創建一個CSS類並將其添加到頁面?基本上,我正在尋找一個CSS equivilant到JavaScript的RegisterClientScriptBlock
功能:
Dim controlNameScript = String.Format("<script type='text/javascript'> var AppMenuName = '{0}' </script>", Me.ClientID)
Me.Page.ClientScript.RegisterClientScriptBlock(myType, "ControlName", controlNameScript)
謝謝!
謝謝,這是我正在尋找的答案 - 使用文字控制應該爲我工作。 (控件不是隱形的,但它在更新面板中,如果這有什麼不同)。 –
很高興我能幫上忙!這看起來很奇怪,CSS不會被渲染 - 我不知道任何UpdatePanel特定的行爲會導致這種情況發生;儘管他們有很多古怪的行爲,並且在大多數ASP.NET圈子中都失寵了。如果你最終做了更多的調試以找到根本原因,我肯定會對你發現的東西感興趣。最好的祝願! – mikemanne