asp.net页面样式错误, 在页面头上面有<script></script>时菜单栏的css就会不正常
这种情况没问题:<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherit...
这种情况没问题:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AppHyxx.Default" %>
<!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>
<link href="../Common/Css/topControls.css" rel="stylesheet" type="text/css" />
<script src="../Common/js/topControls.js" type="text/javascript"></script>。。。。
有问题:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AppHyxx.Default" %>
<script></script>
<!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>
<link href="../Common/Css/topControls.css" rel="stylesheet" type="text/css" />
<script src="../Common/js/topControls.js" type="text/javascript"></script>。。。。
是加了“<script></script>”这个标签就不正常了。这个是后台用Response.Write();输出的,所以会在页面的顶部显示
“<script></script>”放在最上面会对样式有影响是怎么回事呢? 展开
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AppHyxx.Default" %>
<!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>
<link href="../Common/Css/topControls.css" rel="stylesheet" type="text/css" />
<script src="../Common/js/topControls.js" type="text/javascript"></script>。。。。
有问题:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AppHyxx.Default" %>
<script></script>
<!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>
<link href="../Common/Css/topControls.css" rel="stylesheet" type="text/css" />
<script src="../Common/js/topControls.js" type="text/javascript"></script>。。。。
是加了“<script></script>”这个标签就不正常了。这个是后台用Response.Write();输出的,所以会在页面的顶部显示
“<script></script>”放在最上面会对样式有影响是怎么回事呢? 展开
展开全部
Response.Write 表示在当然输-出流位置写入数据
ASP.NET 中不要随便使用 Response.Write,会打乱 ASP.NET 的输出流顺序
在 .aspx.cs 中使用 Response.Write 的输出会出现在页面的最顶部
会导致页面布局得不到预期效果
-------------------------------------------------
通常情况不要用response.write,他会打乱你的面向对象模型
------------------------------------------------
用这个来代替:
Page.ClientScript.RegisterStartupScript(this.GetType(),"alert","<script>alert('messagebox效果');</script>");
后言:由于div是流布局,response.write()输出得内容总是在页面得最前端,打破了原有得流布局,所以会造成样式改变,但是还有疑问得是为什么字体也会改变还不清楚
另一种解决办法:
在页面中加一个<asp:Literal ID="Literal1" runat="server"></asp:Literal>控件,把代码赋给它也可以。
*******************************************************如果在单独的类中会出现非静态字段、方法或属性“System.Web.UI.Page.ClientScript.get”要求对象引用的问题,一下是网页上的解决方案.**************************************************
如果该类不是继承自 System.Web.UI.Page
那么必须将特定的 页面Page 作为参数传入该类中,如作为方法参数
public class MyClazz
{
public void SomeFoo(System.Web.UI.Page targetPage)
{
targetPage.ClientScript.RegisterStartupScript(targetPage.GetType(), "back ", " <script lanuage=javascript> window.alert( ' " + "该客户编号已存在! " + " '); </script> ");
// ....
}
}
***********在某页面中调用时:用this.page作为参数即可..
备注:*******************************************************************
RegisterClientScriptBlock() 和RegisterClientScriptBlock. 这两个方法的作用都是从前台向后台写脚本, 这两个方法唯一的不同之处在于从“何处”发送脚本块。
RegisterClientScriptBlock() 在 Web 窗体的开始处(紧接着<form runat="server"> 标识之后)发送脚本块,而 RegisterStartupScript() 在 Web 窗体的结尾处(在 </form> 标识之前)发送脚本块。
RegisterStartupScript() 用于添加要在加载页面后运行的脚本块,通过这种方法添加的脚本块位于 Web 窗体的结尾处,因为必须在脚本运行前定义脚本要修改的 HTML 元素。也就是说,如果您要使用客户端脚本将焦点设置到文本框,必须确保文本框的 HTML 标记位于设置该文本框的焦点的脚本之前。
RegisterClientScriptBlock() 方法用于为响应客户端事件而执行的脚本代码。通过此方法发送的脚本块位于 Web 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后,即它一般不使用文档内自定义的控件。
ASP.NET 中不要随便使用 Response.Write,会打乱 ASP.NET 的输出流顺序
在 .aspx.cs 中使用 Response.Write 的输出会出现在页面的最顶部
会导致页面布局得不到预期效果
-------------------------------------------------
通常情况不要用response.write,他会打乱你的面向对象模型
------------------------------------------------
用这个来代替:
Page.ClientScript.RegisterStartupScript(this.GetType(),"alert","<script>alert('messagebox效果');</script>");
后言:由于div是流布局,response.write()输出得内容总是在页面得最前端,打破了原有得流布局,所以会造成样式改变,但是还有疑问得是为什么字体也会改变还不清楚
另一种解决办法:
在页面中加一个<asp:Literal ID="Literal1" runat="server"></asp:Literal>控件,把代码赋给它也可以。
*******************************************************如果在单独的类中会出现非静态字段、方法或属性“System.Web.UI.Page.ClientScript.get”要求对象引用的问题,一下是网页上的解决方案.**************************************************
如果该类不是继承自 System.Web.UI.Page
那么必须将特定的 页面Page 作为参数传入该类中,如作为方法参数
public class MyClazz
{
public void SomeFoo(System.Web.UI.Page targetPage)
{
targetPage.ClientScript.RegisterStartupScript(targetPage.GetType(), "back ", " <script lanuage=javascript> window.alert( ' " + "该客户编号已存在! " + " '); </script> ");
// ....
}
}
***********在某页面中调用时:用this.page作为参数即可..
备注:*******************************************************************
RegisterClientScriptBlock() 和RegisterClientScriptBlock. 这两个方法的作用都是从前台向后台写脚本, 这两个方法唯一的不同之处在于从“何处”发送脚本块。
RegisterClientScriptBlock() 在 Web 窗体的开始处(紧接着<form runat="server"> 标识之后)发送脚本块,而 RegisterStartupScript() 在 Web 窗体的结尾处(在 </form> 标识之前)发送脚本块。
RegisterStartupScript() 用于添加要在加载页面后运行的脚本块,通过这种方法添加的脚本块位于 Web 窗体的结尾处,因为必须在脚本运行前定义脚本要修改的 HTML 元素。也就是说,如果您要使用客户端脚本将焦点设置到文本框,必须确保文本框的 HTML 标记位于设置该文本框的焦点的脚本之前。
RegisterClientScriptBlock() 方法用于为响应客户端事件而执行的脚本代码。通过此方法发送的脚本块位于 Web 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后,即它一般不使用文档内自定义的控件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询