兩種WEB下的模態(tài)對(duì)話框 (asp.net或js的分別實(shí)現(xiàn))
方法一
本方法是采用ASP.NET AJAX的擴(kuò)展控件:ASP.NET AJAX Control Tool Kit中的ModalPopupExtender控件實(shí)現(xiàn)的:
第一步,我們先創(chuàng)建一個(gè)ASP.NET頁(yè)面:ModalPopup.aspx
頁(yè)面代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxControlToolkit.aspx.cs"
Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!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>
<style type="text/css">
.p_Login
{}{
width: 230px;
height: 180px;
padding: 15px 15px 15px 15px;
background-color: #fff;
border: 2px solid #ccc;
}
.Password
{}{
margin-left: 15px;
}
.ModalPopupBackground
{}{
background-color:#dddddd;
filter:alpha(opacity=60); /**//*IE*/
opacity:60; /**//*Firefox*/
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:LinkButton ID="lbtn_Login" runat="server">登陸</asp:LinkButton>
<%--panel的display的CSS屬性必須寫在標(biāo)簽里面。--%>
<asp:Panel ID="p_Login" CssClass="p_Login" runat="server" Style="display: none;">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<p>
用戶名:<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
</p>
<p>
密碼:<asp:TextBox ID="Password" runat="server" CssClass="Password" TextMode="Password"></asp:TextBox>
</p>
<p>
<asp:Button ID="Btn_Submit" runat="server" Text="登錄" OnClick="Btn_Submit_Click" />
<asp:Button ID="Btn_Cancel" runat="server" Text="取消" OnClick="Btn_Cancel_Click" />
</p>
<p>
<asp:Label ID="lbResult" runat="server" Text=""></asp:Label>
<p>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
<cc1:ModalPopupExtender ID="ModalPopupExtender1"
PopupControlID="p_Login"
TargetControlID="lbtn_Login"
BackgroundCssClass="ModalPopupBackground"
runat="server">
</cc1:ModalPopupExtender>
</div>
</form>
</body>
</html>
[code]
后臺(tái)代碼:
[code]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Btn_Submit_Click(object sender, EventArgs e)
{
if (this.UserName.Text.Trim().ToUpper() == "JACKY" && this.Password.Text.Trim() == "123")
{
this.lbResult.Text = "登陸成功!";
}
else
{
this.lbResult.Text = "登錄失敗!";
}
}
protected void Btn_Cancel_Click(object sender, EventArgs e)
{
this.ModalPopupExtender1.Hide();
this.UserName.Text = "";
this.Password.Text = "";
this.lbResult.Text = "";
}
}
就這樣,通過(guò)很簡(jiǎn)單的擴(kuò)展控件就實(shí)現(xiàn)了模態(tài)對(duì)話框的效果,但是,我后來(lái)想了想,我感覺(jué)用純JS來(lái)實(shí)現(xiàn)更簡(jiǎn)單些,所以,我用純JS來(lái)實(shí)現(xiàn)了一次,很快成功了!
方法二
我們這次創(chuàng)建一個(gè)HTML頁(yè)面:Popup.html
代碼如下:
<!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>
<style type="text/css">
#loginContent
{}{
position: absolute;
left: 40%;
top: 30%;
width: 230px;
height: 180px;
padding: 15px 15px 15px 15px;
background-color: #fff;
border: 2px solid #ccc;
background-color: #fff;
z-index: 100;
display:none;
}
#hideContent
{}{
display:none;
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 50;
background-color: #dddddd;
filter: alpha(opacity=60); /**//*IE*/ opacity:60; /**//*Firefox*/
}
</style>
<script type="text/javascript">
var hidecontent = document.getElementById("hideContent");
var logincontent = document.getElementById("loginContent");
function showModalPopup() {
hideContent.style.display = "block";
loginContent.style.display = "block";
}
function hideModalPopup() {
hideContent.style.display = "none";
loginContent.style.display = "none";
}
</script>
<title></title>
</head>
<body>
<a href="javascript:void(0);" onclick="showModalPopup();">登錄</a>
<div id="loginContent">
<a href="javascript:void(0);" onclick="hideModalPopup();">關(guān)閉</a>
</div>
<div id="hideContent">
</div>
</body>
</html>
就這樣,我用兩種方式實(shí)現(xiàn)了前面展示的那樣的效果,其實(shí)我自己感覺(jué),用純JS寫效果比用控件寫更好,自己更明確整個(gè)效果代碼的流程。
- JS 模態(tài)對(duì)話框和非模態(tài)對(duì)話框操作技巧匯總
- 利用javascript打開模態(tài)對(duì)話框(示例代碼)
- javascript showModalDialog模態(tài)對(duì)話框使用說(shuō)明
- JavaScript 實(shí)現(xiàn)模態(tài)對(duì)話框 源代碼大全
- 詳解AngularJS 模態(tài)對(duì)話框
- JS對(duì)話框_JS模態(tài)對(duì)話框showModalDialog用法總結(jié)
- js模態(tài)對(duì)話框使用方法詳解
- js實(shí)現(xiàn)div模擬模態(tài)對(duì)話框展現(xiàn)URL內(nèi)容
- ModelDialog JavaScript模態(tài)對(duì)話框類代碼
- JavaScript實(shí)現(xiàn)模態(tài)對(duì)話框?qū)嵗?/a>
- js實(shí)現(xiàn)響應(yīng)按鈕點(diǎn)擊彈出可拖拽的非模態(tài)對(duì)話框完整實(shí)例【測(cè)試可用】
相關(guān)文章
獲取焦點(diǎn)時(shí),利用js定時(shí)器設(shè)定時(shí)間執(zhí)行動(dòng)作
網(wǎng)上有很多類似的知識(shí),并不是有什么難度的技巧,僅僅是開發(fā)過(guò)程中的一點(diǎn)點(diǎn)積累而已。2010-04-04
IE8提示Invalid procedure call or argument 異常的解決方法
某臺(tái)機(jī)器上,訪問(wèn)公司的好幾個(gè)產(chǎn)品網(wǎng)站,都拋出很多 Invalid procedure call or argument ,跟進(jìn)了下,情況最后簡(jiǎn)化為2012-09-09
詳解小程序開發(fā)經(jīng)驗(yàn):多頁(yè)面數(shù)據(jù)同步
這篇文章主要介紹了小程序開發(fā)經(jīng)驗(yàn):多頁(yè)面數(shù)據(jù)同步,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
JavaScript Math對(duì)象和調(diào)試程序的方法分析
這篇文章主要介紹了JavaScript Math對(duì)象和調(diào)試程序的方法,結(jié)合實(shí)例形式分析了javascript中Math對(duì)象生成隨機(jī)數(shù)以及使用alert()、console.log()函數(shù)進(jìn)行錯(cuò)誤調(diào)試相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
比較精簡(jiǎn)的Javascript拖動(dòng)效果函數(shù)代碼
比較精簡(jiǎn)的Javascript拖動(dòng)效果函數(shù)代碼...2007-07-07
JavaScript實(shí)現(xiàn)點(diǎn)擊單元格改變背景色的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊單元格改變背景色的方法,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素屬性的相關(guān)技巧,需要的朋友可以參考下2016-02-02
jquery實(shí)現(xiàn)簡(jiǎn)單的遮罩層
這篇文章主要介紹了jquery實(shí)現(xiàn)簡(jiǎn)單的遮罩層相關(guān)代碼,內(nèi)容很豐富,教大家實(shí)現(xiàn)遮罩層效果,感興趣的小伙伴們可以參考一下2016-01-01
JavaScript DOM節(jié)點(diǎn)操作實(shí)例小結(jié)(新建,刪除HTML元素)
這篇文章主要介紹了JavaScript DOM節(jié)點(diǎn)操作,結(jié)合實(shí)例形式總結(jié)分析了JS操作DOM實(shí)現(xiàn)新建與刪除HTML元素的具體步驟與相關(guān)技巧,需要的朋友可以參考下2017-01-01
javascript中如何快速獲取數(shù)組最后一個(gè)值
這篇文章主要介紹了javascript中如何快速獲取數(shù)組最后一個(gè)值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01

