2012-08-07 76 views
0

好吧,所以我試圖設置一個無序的列表從顯示無到阻止點擊按鈕。我已經像這樣設置了CSS;通過代碼影響孩子的CSS

#ErrorDiv li{ color:#9a005a; font-weight:bold; display:none;} 

因此,我的ErrorDiv中的所有ListItems都不顯示。問題是,如何在點擊按鈕後顯示它們?我在我的代碼中嘗試過;

ErrorDiv.Style.Add("Display", "block") 

但顯然這只是ErrorDiv而不是子ListItems。我也嘗試調用JavaScript函數,但這只是一個令人頭疼的問題。我想必須有一個簡單的方法,我可以影響子元素的這一個樣式屬性?

只是要清楚,它不只是按鈕點擊 - >顯示。在顯示器之前,有一些工作在服務器端進行。

+0

如果你打算這是一個客戶端交互(它應該是),那麼你需要使用JavaScript來做到這一點。鑑於你使用.net,jQuery將是一個很好的開始。 – 2012-08-07 15:45:20

+0

因爲在顯示和點擊按鈕之間完成了一些服務器工作,所以不能是客戶端。 – windowskm 2012-08-07 15:51:36

+0

究竟是什麼服務器端動作? – CoreyRS 2012-08-07 15:55:53

回答

1

你應該嘗試這樣的事情。

 Protected Sub Button1_Click(sender As Object, e As EventArgs) 
    Me.ErrorDiv.Attributes.Add("style", "display:block;") 
    End Sub 

我希望這對你有用。

+0

完美的作品,謝謝! – windowskm 2012-08-08 08:36:39

0

包括在你的網頁jQuery框架,然後使用單擊事件

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 

<script> 
$(function(){ 
    $('#ID').click(function(){ 
     $('#ErrorDiv li').css({'display':'block'}); 
    }); 
}); 
</script> 
+0

要去嘗試,但要從我的VB調用函數。 – windowskm 2012-08-07 16:00:37

+0

這是一個JS函數,所以你不能直接通過VB調用它。您可以讓VB在頁面呈現時執行該功能。但是這真的讓事情過度複雜化。 – 2012-08-07 16:30:38

+0

嗯沒有那麼複雜只是做'Page.ClientScript.RegisterStartupScript(Me.GetType(),「window-script」,「FunctionCall()」,True)'但你是對的,必須有一個更簡單的方法。 – windowskm 2012-08-08 07:34:14