如何制作一个代码,当我点击asp.net上的按钮时,会出现一个引导程序或消息框的警告消息?
protected void ButtonLogin_Click(object sender, EventArgs e)
{
//TextBoxEmail.Text = DateTime.Now.ToString();
string UserName = TextBoxEmail.Text.Trim();
string password = TextBoxPassword.Text.Trim();
OracleConnection conn = new OracleConnection(strConnString);
conn.Open();
sql = "select password from userlogin where USERNAME = '" + UserName + "' and password ='" + password + "' ";
cmd = new OracleCommand(sql, conn);
// orada=new OracleDataAdapter(com.CommandText,conn);
// cmd.CommandType = CommandType.Text;
dr = cmd.ExecuteReader();
//dr.Read();
if (dr.HasRows)
{
Label1.Text = "";
Response.Redirect("Details.aspx");
}
else
{
Label1.Text = "No data found...";
conn.Close();
}
}
}
上面,在else部分:
else
{
Label1.Text = "No data found...";
conn.Close();
}
当用户名和密码不匹配时,我想在网站上显示一个引导警报或消息框:“密码不正确”。我怎么能这样做?
答案 0 :(得分:5)
HTML(MasterPage):
<div class="MessagePanelDiv">
<asp:Panel ID="Message" runat="server" Visible="False">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<asp:Label ID="labelMessage" runat="server" />
</asp:Panel>
</div>
ENUM:
public enum WarningType
{
Success,
Info,
Warning,
Danger
}
代码隐藏:
/// <summary>
/// Shows a message based of type and message
/// </summary>
/// <param name="message">Message to display</param>
/// <param name="type">ENUM type of the message</param>
public void ShowMessage(string Message, WarningType type)
{
//gets the controls from the page
Panel PanelMessage = Master.FindControl("Message") as Panel;
Label labelMessage = PanelMessage.FindControl("labelMessage") as Label;
//sets the message and the type of alert, than displays the message
labelMessage.Text = Message;
PanelMessage.CssClass = string.Format("alert alert-{0} alert-dismissable", type.ToString().ToLower());
PanelMessage.Attributes.Add("role", "alert");
PanelMessage.Visible = true;
}
用法:
ShowMessage("<strong> Error! </strong> Error message to show", WarningType.Danger);
修改强>
CSS类:
.MessagePanelDiv
{
position:fixed;
left: 35%;
top:15%;
width:35%;
}
Javascript计时器自动删除警报:
$(document).ready(function () {
window.setTimeout(function () {
$(".alert").fadeTo(1500, 0).slideUp(500, function () {
$(this).remove();
});
}, 3000);
});
没有MasterPage
<div class="MessagePanelDiv">
<asp:Panel ID="Message" runat="server" CssClass="hidepanel">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<asp:Label ID="labelMessage" runat="server" />
</asp:Panel>
</div>
CSS:
.hidepanel {
display: none;
}
代码隐藏:
labelMessage.Text = "Successfully updated."
Message.CssClass = String.Format("alert alert-{0} alert-dismissable", Constants.WarningType.Success.ToString().ToLower())
Message.Attributes.Add("role", "alert")
答案 1 :(得分:3)
老问题,但对那些只想要简单解决方案的人来说。
您必须拥有一个包含ID为“main”的ContentPlaceHolder的母版页
创建此类:
public class BootstrapPage:Page
{
public enum WarningType
{
成功,
信息,
警告,
危险
}
public void ShowNotification(字符串消息,WarningType类型)
{
var mainContentHolder = Master.FindControl(“main”)as ContentPlaceHolder;
面板notificationPanel = new Panel();
{
LiteralControl closeButton = new LiteralControl();
closeButton.Text =“&times; ”;
标签notificationMessage = new Label(){Text = message};
notificationPanel.Controls.Add(closeButton);
notificationPanel.Controls.Add(notificationMessage);
}
notificationPanel.CssClass = string.Format(“alert alert- {0} alert-dismissable”,type.ToString()。ToLower());
notificationPanel.Attributes.Add(“role”,“alert”);
mainContentHolder.Controls.AddAt(0,notificationPanel);
}
}
代码>
然后从BootstrapPage而不是System.Web.UI.Page中创建WebForm inheirt
在需要时调用它:
ShowNotification(“错误:你不能这样做!”,WarningType.Error);
代码>
答案 2 :(得分:1)
为此你需要引用bootstrap链接和jquery
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
接下来将此添加到Aspx页面的主题部分:
<style type="text/css">
.messagealert {
width: 100%;
position: fixed;
top:0px;
z-index: 100000;
padding: 0;
font-size: 15px;
}
</style>
<script type="text/javascript">
function ShowMessage(message, messagetype) {
var cssclass;
switch (messagetype) {
case 'Success':
cssclass = 'alert-success'
break;
case 'Error':
cssclass = 'alert-danger'
break;
case 'Warning':
cssclass = 'alert-warning'
break;
default:
cssclass = 'alert-info'
}
$('#<%=ButtonLogin.ClientID %>').append('<div id="alert_div" style="margin: 0 0.5%; -webkit-box-shadow: 3px 4px 6px #999;" class="alert fade in ' + cssclass + '"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>' + messagetype + '!</strong> <span>' + message + '</span></div>');
}
</script>
在Cs代码中
protected void ShowMessage(string Message, MessageType type)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), System.Guid.NewGuid().ToString(), "ShowMessage('" + Message + "','" + type + "');", true);
}
现在在其他部件调用错误功能中,您也可以通过更改消息类型来使用此功能
ShowMessage("Aww, password is wrong", MessageType.Error);