2012-08-07 78 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