首先我通过openwindow这个类定义了“打开”和“关闭”两种方法。
打开
********************
public static string Modalwindow(string openAspxPage,int width,int height)
{
StringBuilder js=new StringBuilder();
js.Append("<script language=\"JavaScript\">");
js.Append(string.Format("window.showModalDialog(\"{0}\",window.document.all,\"status:false;dialogWidth:{1}px;dialogHeight:{2}px\")",openAspxPage,width,height)+";");
js.Append("</script>");
return js.ToString();
}
***********************************
关闭
***********************************
public static string ClosePage()
{
StringBuilder js = new StringBuilder();
js.Append("<script language=\"JavaScript\">");
js.Append("alert(window.dialogArguments.name1.value);");
js.Append("window.close();");
js.Append("</script>");
return js.ToString();
}
***************************************************
现在开始介绍我的两种方法
在index.aspx中有两个空间“button1”web按钮控件
和<INPUT id="name1" type="text" value="132132123" name="name1">文本框。
第一种方法
通过this.Button1.Attributes.Add("onclick","javascript:window.showModalDialog(\"WebForm1.aspx\",window.document.all)");当点击button1时弹出一个模式对话框
第二种方法
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write(openwindow.Modalwindow("WebForm1.aspx",500,500));
}
通过button1的单击事件来弹出一个模式对话框。
************************************************
在WebForm1.aspx中有一个button1按钮,通过他的单击事件来获得index.aspx中name1的value值
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write(openwindow.ClosePage());
}
**************************************************
但是经调试,第一种方法正确, 第二种方法当点击WebForm1.aspx中的button1按钮时提示window.dialogArguments.name1.value对象为空或不存在。
我怎么也分析不出到底有什么不同,希望大家帮帮我。