asp.net使用不同的web服务器,同样的页面显示效果不同,这是怎么回事?

MamboShawn 2016-06-16 11:03:59
我在用VS2005做ASP.NET的页面程序,在使用VS内部自带的web服务器调试时,菜单显示正常。但同样位置的文件和代码,配置到本机的IIS里时,显示风格就变了,菜单弹不出来了,这是怎么回事?有啥解决办法?

...全文
198 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MamboShawn 2016-06-23
  • 打赏
  • 举报
回复
引用 9 楼 syp871222 的回复:
我也遇到过这种问题,你解决了么。
没找到原因。 不过幸运的是,这只是我自己PC上面的IIS和VS的不同,我的服务器上的IIS和VS是一致的,没影响最终发布使用。
MamboShawn 2016-06-16
  • 打赏
  • 举报
回复
引用 3 楼 sundacheng1989 的回复:
首先,解决这个问题,你第一步需要做的,是分别比较一下VS服务器与IIS输出的HTML代码是否完全一样。
果然,两边输出的html代码差别挺大,但还是不明白为什么会这样。 head里面关于menu的自动生成的style,vs输出的是: <style type="text/css"> .Nav_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; } .Nav_1 { text-decoration:none; } .Nav_2 { } .Nav_3 { color:#404040;font-weight:bold; } .Nav_4 { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px; } .Nav_5 { color:Gray;font-weight:bold; } .Nav_6 { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px; } .Nav_7 { color:DarkRed; } .Nav_8 { } </style> 而iis输出的变成了: <style type="text/css"> /* <![CDATA[ */ #Nav img.icon { border-style:none;vertical-align:middle; } #Nav img.separator { border-style:none;display:block; } #Nav img.horizontal-separator { border-style:none;vertical-align:middle; } #Nav ul { list-style:none;margin:0;padding:0;width:auto; } #Nav ul.dynamic { z-index:1; } #Nav a { text-decoration:none;white-space:nowrap;display:block; } #Nav a.static { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px;color:#404040;font-weight:bold;text-decoration:none; } #Nav a.popout { background-image:url("/web/WebResource.axd?d=t-S_tbnvpdkt7jtRAZpcRMo_V92yd0b_-ppisjupq0Mz3oohDo0de5bEknkqBCRo_vPY7NmQVfZMiSR0WiacrcYdmwEKSyrjLfddOkA6U6s1&t=635145356180000000");background-repeat:no-repeat;background-position:right center;padding-right:14px; } #Nav a.dynamic { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px;color:Gray;font-weight:bold;text-decoration:none; } #Nav a.static.selected { color:DarkRed;text-decoration:none; } /* ]]> */ </style>
孙大诚_SunRobin 2016-06-16
  • 打赏
  • 举报
回复
首先,解决这个问题,你第一步需要做的,是分别比较一下VS服务器与IIS输出的HTML代码是否完全一样。
我是飞云 2016-06-16
  • 打赏
  • 举报
回复
调试下,看看是不是哪个文件加载异常了(chrome或者火狐一类)
MamboShawn 2016-06-16
  • 打赏
  • 举报
回复
补充一下,这个页面是分上下frame的,菜单部分是放在frame top里的,使用的是Menu组件。
syp871222 2016-06-16
  • 打赏
  • 举报
回复
我也遇到过这种问题,你解决了么。
孙大诚_SunRobin 2016-06-16
  • 打赏
  • 举报
回复
引用 4 楼 xkena77 的回复:
[quote=引用 3 楼 sundacheng1989 的回复:] 首先,解决这个问题,你第一步需要做的,是分别比较一下VS服务器与IIS输出的HTML代码是否完全一样。
果然,两边输出的html代码差别挺大,但还是不明白为什么会这样。 head里面关于menu的自动生成的style,vs输出的是: <style type="text/css"> .Nav_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; } .Nav_1 { text-decoration:none; } .Nav_2 { } .Nav_3 { color:#404040;font-weight:bold; } .Nav_4 { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px; } .Nav_5 { color:Gray;font-weight:bold; } .Nav_6 { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px; } .Nav_7 { color:DarkRed; } .Nav_8 { } </style> 而iis输出的变成了: <style type="text/css"> /* <![CDATA[ */ #Nav img.icon { border-style:none;vertical-align:middle; } #Nav img.separator { border-style:none;display:block; } #Nav img.horizontal-separator { border-style:none;vertical-align:middle; } #Nav ul { list-style:none;margin:0;padding:0;width:auto; } #Nav ul.dynamic { z-index:1; } #Nav a { text-decoration:none;white-space:nowrap;display:block; } #Nav a.static { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px;color:#404040;font-weight:bold;text-decoration:none; } #Nav a.popout { background-image:url("/web/WebResource.axd?d=t-S_tbnvpdkt7jtRAZpcRMo_V92yd0b_-ppisjupq0Mz3oohDo0de5bEknkqBCRo_vPY7NmQVfZMiSR0WiacrcYdmwEKSyrjLfddOkA6U6s1&t=635145356180000000");background-repeat:no-repeat;background-position:right center;padding-right:14px; } #Nav a.dynamic { background-color:Gainsboro;height:30px;width:150px;padding:0px 10px 0px 10px;color:Gray;font-weight:bold;text-decoration:none; } #Nav a.static.selected { color:DarkRed;text-decoration:none; } /* ]]> */ </style>[/quote] 之所以为什么输出的HTML不一样,这就要根据具体情况而定了。很多原因造成这个,或许是你在两种环境中的某个配置不同。这个原因很难根据有限的代码看出来。
那么天涯 2016-06-16
  • 打赏
  • 举报
回复
看一下你的样式路径配置,是不是样式文件没有加载到。
MamboShawn 2016-06-16
  • 打赏
  • 举报
回复
引用 5 楼 myhongye 的回复:
前者是非登陆状态,后者是登陆状态。 查看在登陆时,是否对样式有修改
不是这个原因,这只是我截图时疏忽了,登录不登录都是这样。后面贴的html代码对比都是非登录状态
红叶哥 2016-06-16
  • 打赏
  • 举报
回复
前者是非登陆状态,后者是登陆状态。 查看在登陆时,是否对样式有修改

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧