我在向Response.Write()字符串添加变量时遇到问题。当我没有字符串中的var时,警报会正确显示。我知道var正在从调试器中填充。我也知道字符串Concat确实通过查看Visual Studio中的locals输出返回var值的所有内容。只是不知道警报停止显示的原因。
var savedID = Session["AssignedJobID"];
System.Web.HttpContext.Current.Response.Write("<script language='javascript'>alert('Work Request Created.'" + savedID + ");</script>");
答案 0 :(得分:0)
我相信你的单引号是错误的。在将变量写入响应后,需要将其放置,以便变量的值包含在js string litteral中。否则是语法错误。
System.Web.HttpContext.Current.Response.Write($"<script language='javascript'>alert('Work Request Created. " + {savedID} + "');</script>");
答案 1 :(得分:0)
使用aspnet ScriptManager
将javascript写入Response.Write的页面内容。它至少将javascript片段放在正确的位置,而不是放在html的顶部。
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "showAlert", "alert('Work Request Created. " + savedID + "');", true);