常量中有换行字符,这样如何解决

cyw1592951 2010-11-08 01:41:02

<%@ Page Language="C#" AutoEventWireup="true" %>
<script language="C#" runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
if (!string.IsNullOrEmpty(Session["CuserId"].ToString()))
{
Response.Redirect("index.html");
}
}
catch
{
Response.Write("<script language='javascript' type='text/javascript'>alert('请重新登录');</script>");
}
}
}
</script>



脚本的结束</script>报常量中有换行字符!!!
...全文
209 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyw1592951 2010-11-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 net_lover 的回复:]
</sc"+"ript>"
一定要分开写
[/Quote]
这样貌似不行,我当初也是这样想的,当分开之后还是一样,只要有“/"这个玩意儿他就视为转意字符
yzncong 2010-11-12
  • 打赏
  • 举报
回复
注册一个脚本改成这样写:
ClientScript.RegisterClientScriptBlock(GetType(),"","alert('请重新登录!');",true);
wuhuabucai 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 net_lover 的回复:]
</sc"+"ript>"
一定要分开写
[/Quote]

为什么呢???
jianshao810 2010-11-11
  • 打赏
  • 举报
回复
escape()
YSL88881111 2010-11-11
  • 打赏
  • 举报
回复
Response.Write(@"<script language='javascript' type='text/javascript'>alert('请重新登录');</script>");
取消转义字符的功能就可以了。
孟子E章 2010-11-11
  • 打赏
  • 举报
回复
</sc"+"ript>"
一定要分开写
孟子E章 2010-11-11
  • 打赏
  • 举报
回复
Response.Write("<script type='text/javascript'>alert('请重新登录');</sc"+"ript>");
cyw1592951 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 phil999 的回复:]
引用 2 楼 cyw1592951 的回复:
引用 1 楼 phil999 的回复:
没看到问题,输出的html什么样

页面编译是通不过的,更不要说输出html


看到js代码我还以为是网页在运行时有js错误,如果是C#的编译错误,那么极容易,把那个Page_Load里的代码移到一个 cs 文件里编译一下试试,看看是哪行的问题。
[/Quote]

放在Cs文件里是可以的,我特意把它从cs文件里提出来放在页面里的,就遇到了这个问题
phil999 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cyw1592951 的回复:]
引用 1 楼 phil999 的回复:
没看到问题,输出的html什么样

页面编译是通不过的,更不要说输出html
[/Quote]

看到js代码我还以为是网页在运行时有js错误,如果是C#的编译错误,那么极容易,把那个Page_Load里的代码移到一个 cs 文件里编译一下试试,看看是哪行的问题。
Return门徒 2010-11-10
  • 打赏
  • 举报
回复
后台响应脚本最这这样写

this.Page.RegisterStartupScript("script", "<script language='javascript' type='text/javascript'>alert('请重新登录');</script>");
cyw1592951 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhouxiaotan 的回复:]
Response.Write("<script language='javascript' type='text/javascript'>alert('请重新登录');</script>");

变成
Response.Write("<script language='javascript' type='text/javascript'>alert('请重新登录')</script>");
[/Quote]

又是你....呵呵,那一帖没有结爽?
cyw1592951 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 taomanman 的回复:]
你的这种写法即使通过转移符号\写正确了,也会有问题,你输入错误用户名或密码后,弹出你的提示框后,你会发现,你的页面布局被打乱掉了,不像之前的那样了。
应该这样写:
ClientScript.RegisterClientScriptBlock(GetType(),"","<script>alert(\'请重新登录!\');</script>");
这样写绝对没问题。
[/Quote]

我也觉得是这样!尝试一下...
暖枫无敌 2010-11-10
  • 打赏
  • 举报
回复
你的这种写法即使通过转移符号\写正确了,也会有问题,你输入错误用户名或密码后,弹出你的提示框后,你会发现,你的页面布局被打乱掉了,不像之前的那样了。
应该这样写:
ClientScript.RegisterClientScriptBlock(GetType(),"","<script>alert(\'请重新登录!\');</script>");
这样写绝对没问题。
q107770540 2010-11-10
  • 打赏
  • 举报
回复
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('请重新登录');", true);
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('请重新登录');", true);

尽量不要使用Response.Write("<script>alert('请重新登录');</script>"); 这种写法

后果就是会打乱页面布局
夜雨悠扬 2010-11-10
  • 打赏
  • 举报
回复
Response.Write("<script language='javascript' type='text/javascript'>alert('请重新登录');</script>");

变成
Response.Write("<script language='javascript' type='text/javascript'>alert('请重新登录')</script>");
cyw1592951 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 phil999 的回复:]
没看到问题,输出的html什么样
[/Quote]
页面编译是通不过的,更不要说输出html
phil999 2010-11-08
  • 打赏
  • 举报
回复
没看到问题,输出的html什么样

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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