JS拼接字符串

前言

昨天弄订餐中充值的一个小功能,其中涉及到用js弹出一个消息框,小小功能,在看见庐山真面目之前,还真是被难住了呢。

过程

迷茫阶段

弹出字符串是没有问题的:

Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer> alert('批量充值成功!');</script>");

JS拼接字符串_第1张图片
但是想显示几个上面算出来的int类型的变量却实现不了:

Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer> alert('成功导入'+ successCount+ '条,失败' + faultCount + '条,如有失败请检查导出的充值错误信息汇总表,错误原因参考:卡号是否存在并正在使用;卡号是否成功录入;金额是否为数字!');</script>");

其中successCount 和 faultCount 是int类型的变量。 也尝试了占位符,但是无果。

尝试阶段

最终在同学的帮助下,尝试出了正确的写法:

 string a = "成功导入" + successCount + "条,失败" + faultCount + "条,如有失败,请检查导出的充值错误信息汇总表,进行错误修正处理!";

string b = "<script language='javascript' defer> alert('" + a + "');</script>";

Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", b);

通过尝试,知道了script不支持里面写变量,那就需要拼接字符串,拼接的话,用双引号把scrip语法隔开,让int类型的变量跳出script语法,就可以显示出变量了,具体如下:

 Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer> alert(' 成功导入 " + successCount + "条,失败" + faultCount + "条。\\n 如有失败请检查导出的充值错误信息汇总表。\\n 错误原因参考:卡号是否存在并正在使用;卡号是否成功录入;金额是否为数字!');</script>");

JS拼接字符串_第2张图片
其中,换行是\n。

总结

回头看这个问题,真的显示不出它的刁钻,但是在一头雾水的时候,真的感觉这个还是有点难度系数的。就像她说的“难的不会,会的不难”,感觉难还是接触的少,熟练了就不感觉难了,真理。

你可能感兴趣的:(JavaScript)