从不会到会,这是一个累而充实的过程;从会到精,这是一个有收获的过程;从精到简化,到自动化,这是一个普普通通的过程。但这只是一个短暂的过程,他有尽头,有终点。
一份可以让我为之贡献一生的事业应该是——可以让我不断追求完美,追求高效率,逐渐简化,然后实现自动化。换言之就是太懒,需要用不断学习新东西,打发时间,以维持生存。
言归正传,之前写了一篇文章:用js和css重写alert和Confirm提示窗口,支持服务器控件调用。主要是供前端代码调用,这篇文章写通过建立后台控件来实现前台的alert和confirm提示窗口。即后台直接使用alert和confirm方法后,在页面加载完后会自动弹出提示框。
先上调用页面.aspx的前台代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InfoPromptLayer.aspx.cs" Inherits="WebApplication1.InfoPromptLayer" %>
<%@ Register TagPrefix="Promt" TagName="PromtLayer" Src="~/Controls/PromptLayer1.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery-1.12.1.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<Promt:PromtLayer ID="ucPromtLayer" runat="server"></Promt:PromtLayer>
<div>
test alert control
</div>
<div>
<asp:Button ID="btnConfirm" runat="server" Text="test Confirm" onclick="btnConfirm_Click"/>
</div>
<div>
<asp:Button ID="btnAlert" runat="server" Text="test Alert"
onclick="btnAlert_Click" />
</div>
</form>
</body>
</html>
其中<Promt:PromtLayer ID="ucPromtLayer" runat="server"></Promt:PromtLayer>
是控件的调用代码,记得添加头部的引用。
调用页面的后台.cs代码:
using System;
namespace WebApplication1
{
public partial class InfoPromptLayer : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
btnConfirm.OnClientClick = ucPromtLayer.ConfirmForClientClick("提示消息", "是否确认删除!", 240, 200, btnConfirm.ClientID);
}
protected void btnConfirm_Click(object sender, EventArgs e)
{
string callback = @"function (r)
{
if (r)
{
PlusAlert('模拟Alert弹窗', '你单击了确定');
}
else
{
PlusAlert('模拟Alert弹窗', '你单击了取消');
}
}";
ucPromtLayer.Confirm("test title", "test message", 240, 200, callback);
}
protected void btnAlert_Click(object sender, EventArgs e)
{