這個範例很早以前就寫好了..因為前陣看到有人在討論這個東西...
小弟去msdn找了一些範例..也實作一個小小的實例..分享給大家呀...
目前測試IE7,Firefox3都可以用...其它版本我就不知道了..有興趣再自己去測吧..
asp.net(c#)
showModelessDialogEX.aspx
01 | <%@ Page Language="C#" AutoEventWireup="true" CodeFile="showModelessDialogEX.aspx.cs" |
02 | Inherits="showModelessDialogEX" %> |
03 |
04 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
05 | < html xmlns = "http://www.w3.org/1999/xhtml" > |
06 | < head id = "Head1" runat = "server" > |
07 | < title >showModelessDialogEX</ title > |
08 | </ head > |
09 | < body > |
10 | < form id = "form1" runat = "server" > |
11 | < div > |
12 | < asp:TextBox ID = "TextBox1" runat = "server" onclick = 'CallDialog();' ></ asp:TextBox > |
13 | </ div > |
14 | </ form > |
15 | </ body > |
16 | </ html > |
17 |
18 | < script type = "text/javascript" > |
19 | function CallDialog() |
20 | { |
21 | window.showModalDialog("myDialog.aspx",window,"status:false;dialogWidth:300px;dialogHeight:300px;dialogLeft:50px;dialogTop:200px"); |
22 | } |
23 |
24 | function SetTextBox(str) |
25 | { |
26 | //原本程式,請修正成下面程式 |
27 | //document.getElementById("TextBox1").value = str; |
28 | |
29 | //如果遇到有套MasterPage,上面的程式會死掉,感謝Allen大大的提醒 |
30 | var id = '<%=this.TextBox1.ClientID %>'; |
31 | document.getElementById(id).value = str; |
32 | } |
33 | </ script > |
showModelessDialogEX.aspx.cs
01 | using System; |
02 | using System.Collections; |
03 | using System.Configuration; |
04 | using System.Data; |
05 | using System.Web; |
06 | using System.Web.Security; |
07 | using System.Web.UI; |
08 | using System.Web.UI.HtmlControls; |
09 | using System.Web.UI.WebControls; |
10 | using System.Web.UI.WebControls.WebParts; |
11 |
12 | public partial class showModelessDialogEX : System.Web.UI.Page |
13 | { |
14 | protected void Page_Load( object sender, EventArgs e) |
15 | { |
16 |
17 | } |
18 | } |
myDialog.aspx
01 | <%@ Page Language="C#" AutoEventWireup="true" CodeFile="myDialog.aspx.cs" Inherits="myDialog" %> |
02 |
03 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
04 | < html xmlns = "http://www.w3.org/1999/xhtml" > |
05 | < head runat = "server" > |
06 | < title >myDialog</ title > |
07 | </ head > |
08 | < body > |
09 | < form id = "form1" runat = "server" > |
10 | < div > |
11 | < asp:GridView ID = "GridView1" runat = "server" |
12 | onrowdatabound = "GridView1_RowDataBound" > |
13 | < Columns > |
14 | < asp:TemplateField HeaderText = "Select" > |
15 | < ItemTemplate > |
16 | < asp:LinkButton ID = "LinkButton1" runat = "server" >Select</ asp:LinkButton > |
17 | </ ItemTemplate > |
18 | </ asp:TemplateField > |
19 | </ Columns > |
20 | </ asp:GridView > |
21 | </ div > |
22 | </ form > |
23 | </ body > |
24 | </ html > |
25 |
26 | < script type = "text/javascript" > |
27 | function GetInfo(str) |
28 | { |
29 | var arg = window.dialogArguments; |
30 | arg.SetTextBox(str); |
31 | window.close(); |
32 | } |
33 | </ script > |
myDialog.aspx.cs
01 | using System; |
02 | using System.Collections; |
03 | using System.Configuration; |
04 | using System.Data; |
05 | using System.Web; |
06 | using System.Web.Security; |
07 | using System.Web.UI; |
08 | using System.Web.UI.HtmlControls; |
09 | using System.Web.UI.WebControls; |
10 | using System.Web.UI.WebControls.WebParts; |
11 |
12 | public partial class myDialog : System.Web.UI.Page |
13 | { |
14 | protected void Page_Load( object sender, EventArgs e) |
15 | { |
16 | if (!IsPostBack) |
17 | { |
18 | this .GridView1.DataSource = new string [] { "Dotblogs" , "F6 Team" , "puma" }; |
19 | this .GridView1.DataBind(); |
20 | } |
21 | } |
22 | protected void GridView1_RowDataBound( object sender, GridViewRowEventArgs e) |
23 | { |
24 | if (e.Row.RowType == DataControlRowType.DataRow) |
25 | { |
26 | LinkButton lnkbtn = e.Row.Cells[0].FindControl( "LinkButton1" ) as LinkButton; |
27 | lnkbtn.OnClientClick = string .Format( "GetInfo('{0}'); return false;" , e.Row.Cells[1].Text); |
28 | } |
29 | } |
30 | } |
執行結果: