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>”放在最上面会对样式有影响是怎么回事呢?
展开
 我来答
sizhuyang
2010-10-27 · TA获得超过1522个赞
知道小有建树答主
回答量:714
采纳率:0%
帮助的人:587万
展开全部
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 元素之后,即它一般不使用文档内自定义的控件。
358198962
2010-10-27 · 超过11用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:33.7万
展开全部
<script></script>只可以写在<head></head>中间。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式