读书人

请问控件的OnClientClick属性的正确写

发布时间: 2012-12-24 10:43:14 作者: rapoo

请教控件的OnClientClick属性的正确写法以及原因
function DeleteConfirm(info) {
return window.confirm("是否删除数据:" + info); //点击删除按钮时出现确定窗口

}
js处的代码如上,我把它加到按钮的OnClientClick

OnClientClick="return DeleteConfirm(<%#Eval("建筑名称")%>)"
系统说无法解析

OnClientClick="return DeleteConfirm('<%#Eval("建筑名称")%>')"
系统还是无法解析

OnClientClick=<%#"return DeleteConfirm('" + Eval("建筑名称")+"')"%>
查网上发现这种终于能解析了,但是VS又说我属性值没加引号。但是倒不影响运行

OnClientClick="<%#"return DeleteConfirm('" + Eval("建筑名称")+"')"%>"
于是又改成这样,vs不报错了,但是一运行又不能解析了。

这个html的双单引号用法这么奇怪吗,怎么写才是正确的。以及原因是什么
[最优解释]
sorry,写错了。

OnClientClick='<%#"return DeleteConfirm(\0027" + Eval("建筑名称")+"\0027)"%>'

或者更好地是

OnClientClick='<%#GetMyJavascript((string)Eval("建筑名称"))"%>'
并且自己在页面上写一个万能的GetMyJavascript转换函数。
[其他解释]
最外层的用单个,里层不管在什么样的情况下都用双个。
[其他解释]
OnClientClick='<%#"return DeleteConfirm('" + Eval("建筑名称")+"')"%>'

原因你自己想吧。
[其他解释]
嗯,又多了一个"号。你能理解这个思路就好。
[其他解释]
上次不给分,这次知道也不告诉你

读书人网 >asp.net

热点推荐