2013-08-21 63 views
0

我有這個問題,我把整個頁面放在更新面板中,我有幾個ASP:PannelVisible="false"屬性。CSS在updatepanel中消失

它們含有asp:RadioButtonList隨着Yes,No

他們的Page_Load()一個獲得與單選按鈕列表中的用戶可見的一個。 因此,當他按Yess時,另一個面板可以看到他。

問題是我有一個包含asp:DropDownList面板與

CssClass="span6 chzn-select">

所以當這個面板拿到可見DropDownListcss消失!。 我知道更新面板發佈時存在問題,但我不知道如何解決此問題。 也DropDownList從JQuery文件調用選擇的樣式,但我沒有在任何頁面的任何腳本,我只是把CSS類,它有它的風格。 在此先感謝。

+0

試試'yourUpda tePanel.Update();' – PiLHA

回答

0

由javascript製作的元素(如添加樣式)所做的修改不會通過回發,甚至部分回發持久化。所有的JavaScript初始化需要在回發後重做。

這裏是一個JavaScript片段,增加了回調完成部分回傳。您可以使用此設置您的用戶界面:

<script type="text/javascript"> 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(EndRequest); 

    function EndRequest(sender, args) { 
    } 
</script> 

摘自this question的摘錄。

+0

應該放在這裏? 函數EndRequest(發送者,參數){ } – ahmgeek

+0

無論代碼初始化您的JavaScript UI元素。 –

+0

不工作:(我想這 <腳本類型= 「文本/ JavaScript的」> 變種PRM = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(EndRequest); 功能EndRequest(發件人,參數) {('#drpClients')。addClass('span6 chzn-select'); } – ahmgeek

0

像Chosen這樣的插件不僅僅是CSS。他們使用JavaScript來查找具有該類的選定元素,並用可以很好地設計樣式的不同標記來擴充/替換它們。

這並不是說當UpdatePanel刷新時,你的CSS不會丟失,而是選擇的JavaScript沒有運行,以找到並重新加強那些帶有Chosen類的普通<select>元素。

你應該能夠使用此代碼重新初始化它們:

$('.chzn-select').chosen(); 

你可以在the pageLoad() function that ASP.NET calls by convention在頁面加載和每一個的UpdatePanel刷新後運行,將其置於:

function pageLoad() { 
    $('.chzn-select').chosen(); 
} 
0

在在同一頁面添加以下js功能(不包括在documentready中)

<script> 
function pageLoad() { 
$('#drpClients').addClass('span6 chzn-select'); 
} 
</script>