请问这条response.write 语句应该怎么写??

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:23:23
有如下js语句:
if(confirm("您确定到网易吗?"))
{return true;}
return false;

现在我想把这条语句放入response.write 的<a></a>的onclick事件中去,我写成了以下语句:
Response.Write(string.Format("<a onclick=\'{if(confirm(\"您确定到网易吗?\")){return true;}return false;}\' href=http://www.163.com>网易</a>"));
可是运行时出错了,错误提示是:输入字符串的格式不正确。
请问应该怎么改?

原因是这样的,string.Format中,用{0:格式0}、{1:格式1}、{2:格式2} ... {n:格式n}来表示需要被格式化的内容,而你的字符串里面恰好用到了花括号,像“{return true;}”。

你的语句中,其实不需要进行格式替换,所以可以把string.Fomat函数去掉:
Response.Write("<a onclick=\'{if(confirm(\"您确定到网易吗?\")){return true;}return false;}\' href=http://www.163.com>网易</a>");

或者,你修改一下javascript,使其不出现“{}”
Response.Write("<a onclick=\'javascript:if(confirm(\"您确定到网易吗?\")) return true; else return false;\' href='http://www.163.com'>网易</a>");

附带一个建议:Response.Write会写入页面的最上方,所以可能不是你要的结果。所以建议使用asp控件完成同样的工作。asp控件有onClientClick属性(.net Framework 2.0)

Response.Write("<script></script>"); 在 <script></script>里面写你的代码