【发布时间】:2013-02-21 17:50:34
【问题描述】:
我在 Page.aspx.cs 文件中有这样的代码:
void btnSessionCreate_Click(object sender, EventArgs e)
{
if (Session["user"] == null)
{
Session["user"] = Guid.NewGuid().ToString();
Response.Redirect("/");
}
else if (Session["user"] != null)
{
string userBrowser = Request.UserAgent.ToString();
string sessionId = Session["user"].ToString();
Response.Write("<script>alert('" + sessionId + "\r\n" + userBrowser + "');</script>");
}
}
主要问题是 Response.Write() 方法中的 "\r\n" 部分。我想用换行符分隔数据,但不能!
如果没有 "\r\n" ,脚本会很好地发出警报,但如果代码中存在,则不会发出警报,并且正在更改会重置其 CSS 样式。
为什么?
【问题讨论】:
-
你不应该使用 response.write 来输出 JavaScript。糟糕的设计。看
RegisterStartupscript! -
@epascarello 为什么我不应该使用它?
-
Response.Write 会搞砸流,并且何时发送它是不可靠的。使用代码中内置的方法注册 JavaScript。
-
@epascarello 以及如何从 CodeBehind 调用已注册的脚本?而且,我不想注册它 StartUp?不存在没有启动扩展的
Regsiter?谢谢! -
阅读上面的文档,它用例子解释它。
标签: javascript asp.net newline alert