关于.net 页面提交后 css失效或者部分失效的问题
关谷神奇一次又一次的重复“活到老,学到老”。
在过去一年多的.net开发中,觉得索然无味,其实是不喜欢学习的表现。
比如几乎在我做的所有的网站中,都会涉及到如题的bug,可是我一直没有去正面面对和学习过。
在ItCast上学习了一段时间java之后,学习的渴望开始变得日渐强烈,今天同学再次遇到了如题的问题。
google了一下,手起刀落,问题解决,心中大畅。
开发环境: win7 visual studio2008
问题描述:在提交后出现css部分失效,如div位置,字体大小。
问题解决:原因是,过去的提示语句我们一律使用了Response.write("<script>alert("***")</script>"),用了.write输出 js脚本.
alert等破坏了css 加载。解决办法将Response.write("<script>alert("***")</script>")改换成Page.RegisterStartupScript("Startup","<script>alert("***")</script>").
下面贴出msdn上的标准代码
<html>
<head>
<script language="C#" runat="server">
public void Page_Load(Object sender, EventArgs e)
{
if (!this.IsStartupScriptRegistered("Startup"))
{
// Form the script to be registered at client side.
String scriptString = "<script language=JavaScript> function DoClick() {";
scriptString += "showMessage2.innerHTML='<h4>Welcome to Microsoft .NET!</h4>'}";
scriptString += "function Page_Load(){ showMessage1.innerHTML=";
scriptString += "'<h4>RegisterStartupScript Example</h4>'}<";
scriptString += "/";
scriptString += "script>";
this.RegisterStartupScript("Startup", scriptString);
}
}
</script>
</head>
<body topmargin="20" leftmargin="10" onload="Page_Load()">
<form id="myForm" runat="server">
<span id="showMessage1"></span>
<br>
<input type="button" value="ClickMe" onclick="DoClick()">
<br>
<span id="showMessage2"></span>
</form>
</body>
</html>