Javascript中单引号和双引号引发的悲剧

学习过ASP.NET的童鞋们都知道,我们经常在服务器控件的值绑定或者属性中使用单引号,如下例子:

 <asp:TextBox ID="TextBox1" runat="server" Text='<% Eval("Name") %>'></asp:TextBox>

这种方式解决了因为双引号和单引号的冲突导致的编译错误。

这个标签需要在后台拼凑的,值参数还是动态的,结果我就使用了如下的格式:

  "</li><li class=\"tas-outmsg-content-s\"><a href='avascript:ToTenderFile({1})'>审批</a></li></ul>", "1,1", item.ProjectName);

 

看似很正常,但是在这里我忽略了两个问题,第一,我的参数值是string,但是我没有加双引号(单引号),第二我的href使用的是单引号(习惯了)结果导致的悲剧就是,运行后我的a的href其实是javascript:ToTenderFile(

好奇怪,为什么我的参数只有一半呢,答案就是引号造成的,因为单引号和双引号的胡乱使用被分割了整个方法的调用,最终在测试了多次之后,才发现正确的写法,如下:

"</li><li class=\"tas-outmsg-content-s\"><a href=\"javascript:ToTenderFile('{1}')\">进入审批</a></li></ul>", "1,1", item.ProjectName);


看出区别了吗,首先我将a标签的href改为双引号,同时在方法的参数外边添加了单引号,没错,在使用html标签时候这种方式是正确的,虽然问题很小,可是的确是测试了好久才搞定的。

转载于:https://www.cnblogs.com/ListenFly/archive/2012/08/15/2639770.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值