因此,我有一个简单的asp.net应用程序,当单击按钮时,我想根据用户提交的内容为用户提供成功警报或错误警报。我被卡住的是,当我能够隐藏我的消息时,当单击asp:button时我无法使其显示。
这是我要隐藏的引导警报:
<div class="alert alert-success collapse" role="alert">
<a href="#" class ="close" data-dismiss="alert">×</a>
This is a success alert—check it out!</div>
这是我用来尝试调用它的C#代码:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert",
"<script>$(document).ready(function(){ $('.alert-success').show(); " +
"$('.alert-danger'); }); </script>");
找不到在线的C#代码,因此就此解决了。我所拥有的有什么问题,如何使它正常工作?
您必须向按钮添加属性ClientIDMode
,并在RegisterClientScriptBlock
中扩展代码,以便将侦听器附加到按钮。
ClientID值设置为ID属性的值。如果 控件是一个命名容器,该控件用作顶部 容器包含的任何控件的命名容器的层次结构。
<asp:Button ID="button" runat="server" ClientIDMode="Static" Text="Button" />
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert",
@"<script>$(document).ready(function() {
$('#button').click(function() {
$('.alert-success').show();
})
});</script>");
示例
$(document).ready(function() {
$('#button').click(function() {
$('.alert-success').show();
})
});
.alert {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
<div>
<div class="alert alert-success alert-dismissible" role="alert">
<a href="#" class="close" data-dismiss="alert">×</a> This is a success alert—check it out!</div>
<!--That would be asp:button-->
<button id="button">Show Alert</button>
</div>