应用场景:
登陆按钮被点击之后,显示模态框,提示,正在处理(因为通过远程单点认证,因此需要时间较长,所以才用了模态框),一般情况下是正常的,
但此时的登陆框有个选项,可以选择两种不同的登陆方式,并且在两种不登陆方式切换时,页面会回传刷新(登陆框是一个控件),当页面被刷新时,输入数据后,却无法再显示模态框(ThickBox控件),
在经过一天的摸索后发现,是因为在回传之后,原本在控件页面里的JS引用脚本,和样式文件全都不见了,因而导致了无法显示模态框。
baidu一下,找到了以下解决方案
// 引入js文件
HtmlGenericControl scriptControl = new HtmlGenericControl("script");
scriptControl.Attributes.Add("type", "text/javascript");
scriptControl.Attributes.Add("language", "JavaScript");
scriptControl.Attributes.Add("src", "http://images.dayoo.com/travel/9208.files/changeimg.js");
Page.Header.Controls.Add(scriptControl);
// 引入样式表
Literal cssControl = new Literal();
cssControl.Text = "<link href=/"http://images.dayoo.com/photo/17358.files/css.css/" rel=/"stylesheet/" type=/"text/css/"/>";
Page.Header.Controls.Add(cssControl);
在登陆框控件的页面,Page_Load函数内。加入以上代码,直接把JS脚本和样式文件加入到主页面的头声明中。